npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@neirth/sony-camera-mcp

v1.9.0

Published

MCP Server for controlling Sony Alpha 6100 camera

Downloads

50

Readme

Sony Camera MCP Server

A Model Context Protocol (MCP) server for controlling Sony Alpha cameras remotely. This server provides AI assistants with the ability to interact with Sony cameras using the Camera Remote API.

Features

  • Exposure Control: Adjust ISO, shutter speed, and exposure compensation
  • Photo Capture: Take pictures and receive them as base64-encoded images
  • Zoom Control: Control camera zoom in/out with different modes
  • Shoot Mode Management: Switch between still and movie modes
  • Live View: Start and stop live view streaming
  • Real-time Communication: Direct integration with Sony Camera Remote API

Quick Start

The easiest way to use this MCP server is with npx:

npx -y @neirth/sony-camera-mcp

Requirements

  • Sony Alpha camera with Wi-Fi capability and Camera Remote API support
  • Camera connected via Wi-Fi Direct or to the same network as your computer
  • Node.js 18+ (for development)

Note: This server has been tested and verified to work with the Sony Alpha 6100. Other Sony Alpha cameras with Camera Remote API support should work as well.

Supported Sony Cameras

This server works with Sony Alpha cameras that support the Camera Remote API, including:

  • Sony α7 series
  • Sony α6000 series
  • Sony FX series
  • And other compatible Sony cameras with Wi-Fi

Configuration

Environment Variables

You can configure the server using environment variables:

CAMERA_IP=192.168.122.1      # Camera IP address (default: 192.168.122.1)
CAMERA_PORT=10000            # Camera port (default: 10000)
DD_XML_PORT=64321           # Device description XML port (default: 64321)
DEBUG=true                  # Enable debug logging (default: false)

Camera Setup

  1. Enable Wi-Fi on your Sony camera
  2. Set the camera to "Control with Smartphone" mode or enable Wi-Fi Direct
  3. Connect your camera to your Wi-Fi network or establish a Wi-Fi Direct connection
  4. Note the camera's IP address (usually found in camera network settings)

Wi-Fi Direct: If using Wi-Fi Direct, your camera will create its own network that you can connect to directly from your computer. This is often the easiest setup method.

Available Tools

exposure_control

Control camera exposure settings.

Parameters:

  • action: "get" or "set"
  • parameter: "iso", "shutter_speed", "ev", "white_balance" (for get/set operations)
  • value: New value (for set operations)

Examples:

  • Get current ISO: {"action": "get", "parameter": "iso"}
  • Set ISO to 800: {"action": "set", "parameter": "iso", "value": "800"}
  • Get all exposure settings: {"action": "get"}

shoot_control

Capture photos.

Parameters:

  • action: "capture"

Example:

  • Take a picture: {"action": "capture"}

zoom_control

Control camera zoom.

Parameters:

  • action: "in" or "out"
  • type: "1shot", "start", or "stop"

Example:

  • Zoom in once: {"action": "in", "type": "1shot"}

shoot_mode

Manage shooting mode.

Parameters:

  • action: "get" or "set"
  • mode: "still" or "movie" (for set operations)

Examples:

  • Get current mode: {"action": "get"}
  • Set to still mode: {"action": "set", "mode": "still"}

live_view

Control live view streaming.

Parameters:

  • action: "start" or "stop"

Examples:

  • Start live view: {"action": "start"}
  • Stop live view: {"action": "stop"}

Development

Installation

git clone <repository-url>
cd sony_camera_mcp
npm install

Building

npm run build

Testing

npm test

Running in Development Mode

npm run dev

Contributing with Conventional Commits

This project uses conventional commits for better changelog generation and automated versioning.

Making Commits

Use the interactive commit tool:

npm run commit
# or
./commit.sh

This will guide you through creating properly formatted commit messages.

Manual Commits

If you prefer to write commits manually, follow the conventional commit format:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code refactoring
  • test: Adding or updating tests
  • chore: Maintenance tasks
  • perf: Performance improvements
  • ci: CI/CD changes
  • build: Build system changes

Creating Releases

To create a new release:

npm run release

This will:

  1. Analyze commits since the last release
  2. Determine the next version number
  3. Generate/update CHANGELOG.md
  4. Create a git tag
  5. Commit the changes

CI/CD Pipeline

The project includes GitHub Actions workflows for:

  • CI/CD Pipeline (.github/workflows/ci-cd.yml):

    • Runs tests on multiple Node.js versions
    • Builds the project
    • Publishes to NPM on releases
    • Validates conventional commits on PRs
  • Manual Release (.github/workflows/release.yml):

    • Manually triggered releases
    • Choose release type (patch/minor/major)
    • Automated NPM publishing

Required Secrets

To enable NPM publishing, add the following secret to your GitHub repository:

  • NPM_TOKEN: Your NPM authentication token

Integration with AI Assistants

This MCP server is designed to work with AI assistants that support the Model Context Protocol. When integrated, AI assistants can:

  • Automatically adjust camera settings based on scene analysis
  • Capture photos and analyze them in real-time
  • Provide cinematography advice and apply optimal settings
  • Control multiple camera functions through natural language

Troubleshooting

Common Issues

  1. Camera not found: Ensure the camera is connected to Wi-Fi or Wi-Fi Direct and the IP address is correct
  2. Connection timeout: Check that both devices are on the same network or properly connected via Wi-Fi Direct
  3. Permission denied: Make sure the camera is in "Control with Smartphone" mode or Wi-Fi Direct is enabled

Debug Mode

Enable debug logging to see detailed API communication:

DEBUG=true npx -y @neirth/sony-camera-mcp

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.