MCP 服务器
MCP 服务器页面启动和停止应用程序的本地模型上下文协议服务器。MCP 允许兼容的客户端,例如 AI 助手或自动化工具,发现应用程序提供的工具并通过本地 HTTP 端点请求这些工具。
服务器内置于正在运行的应用程序中。它不是一个单独的命令行服务,也不是一个公共互联网服务。仅在您希望 MCP 客户端连接时启动它。
MCP 可以控制的内容
MCP 公开应用程序明确发布的领域功能。它不是应用程序窗口的通用远程控制界面。
对于 ControlMyNikon,第一个有用的模块是 NikonMCP。NikonMCP 用于尼康相机状态和相机操作,例如拍摄、实时视图、连接控制和对比度自动对焦。
使用 NikonMCP 获取尼康特定的工具列表和相机状态详细信息。
页面控制
- 开始将托管 MCP 端点。
- 停止结束 MCP 端点并释放端口。
- 地址设置要监听的本地地址。
- 端口设置 TCP 端口。
- 配置的端点显示要提供给 MCP 客户端的 URL。
- 复制 URL 复制配置的端点。
- Bearer 令牌是客户端必须在请求中发送的令牌。
- 复制令牌复制令牌。
- 重新生成令牌创建一个新令牌,并在服务器重启后使旧令牌失效。
- 模块列出应用程序声明的 MCP 模块,例如 NikonMCP。
- 启用或禁用控制模块是否向服务器提供工具。
- 日志显示服务器启动、停止、请求、拒绝和工具调用消息。
- 日志右键菜单中的清除选项清除可见的页面日志。
默认端点是:
http://127.0.0.1:50507/mcp
服务器仅在至少一个模块启用且 Bearer 令牌不为空时启动。地址、端口、Bearer 令牌和模块设置是基于配置文件的。如果在保存配置文件或关闭应用程序时 MCP 服务器正在运行,则该配置文件可以在下次启动时再次启动它。
地址和端口
当 MCP 客户端在同一台计算机上运行时使用 127.0.0.1。这是最安全和最常见的设置。
仅在同一私有网络上的受信任客户端必须连接时,使用分配给此计算机的 LAN IPv4 地址。通配符、广播、非本地和非 IPv4 绑定将被拒绝。
不要通过路由器端口转发、公共 Wi-Fi、不受信任的 VPN 或面向互联网的防火墙规则公开 MCP 端点。MCP 工具可以请求真实的应用程序操作,因此请将端点和令牌视为本地控制密钥。
连接客户端
使用可流式传输的 HTTP MCP 客户端。使用以下配置客户端:
- 端点 URL:页面上显示的配置端点。
- 授权头:
Authorization: Bearer your-token.
大多数客户端请求 URL 和 Bearer 令牌或自定义头。如果您的客户端单独存储头,请使用:
Header name: Authorization
Header value: Bearer your-token
用页面上显示的令牌替换 your-token。请勿在令牌周围包含引号。
技术请求格式
MCP 客户端通常会为您发送这些请求。以下详细信息在配置或调试客户端时非常有用。
端点接受 HTTP POST 请求到 /mcp。请求体是 JSON-RPC。客户端必须在配置了令牌时包含 Bearer 令牌。
初始化请求:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"local-client","version":"1.0"}}}
初始化通知:
{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}
列出工具:
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
调用工具:
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"nikon_hello","arguments":{}}}
服务器返回结构化的工具结果。预期的应用程序拒绝,例如相机未连接,作为正常工具结果返回,且 ok 设置为 false。
服务器状态
- 停止意味着端点未在监听。
- 启动意味着端点在配置的地址和端口上监听。
- 准备启动 MCP 服务器意味着页面已加载并且设置可用。
- MCP 主机已启动意味着服务器成功启动。
- MCP 主机已停止意味着服务器正常停止。
- 未注册 MCP 运行时意味着应用程序未为此页面声明 MCP 运行时。
- MCP 主机因配置文件禁用意味着保存的配置文件已关闭托管。
- MCP 主机未启动,因为没有启用声明的 MCP 模块意味着所有模块卡片均已禁用。
- MCP 主机启动失败意味着地址、端口或本地环境阻止了启动。
日志区域提供故障和拒绝请求的确切消息。
安全说明
MCP 服务器使用明文本地 HTTP 加上 Bearer 令牌授权。令牌保护请求路径,但连接未加密。尽可能为同一计算机客户端使用回环。仅在您信任的网络和计算机上使用 LAN 绑定。
如果令牌与您不再信任的客户端共享,请重新生成令牌。重新生成令牌后,停止并启动 MCP 服务器,以便客户端必须使用新值。
故障排除
如果开始被禁用:
- 启用至少一个模块。
- 确认地址不为空。
- 确认端口在 1 到 65535 之间。
- 确认 Bearer 令牌不为空。
- 在更改地址、端口或 Bearer 令牌之前停止服务器。
如果开始失败:
- 另一个进程可能已经在使用该端口。
- 地址可能未分配给此计算机。
- 选择另一个端口或地址并重试。
- 检查日志以获取确切的故障消息。
如果客户端无法连接:
- 确认服务器显示已启动。
- 确认客户端 URL 完全匹配配置的端点。
- 仅对同一计算机上的客户端使用
127.0.0.1。 - 对于另一台 LAN 计算机,使用此计算机的 LAN IPv4 地址,并确认防火墙规则允许连接。
- 确认客户端支持可流式传输的 HTTP MCP,而不是仅支持 stdio 的 MCP。
如果客户端收到 401 Unauthorized:
- 添加
Authorization头。 - 确认头以
Bearer开头。 - 确认令牌不为空。
如果客户端收到 403 Forbidden:
- 确认令牌完全匹配当前的 Bearer 令牌。
- 如果您重新生成了令牌,请更新客户端。
- 如果请求包含 Origin 头,请确认它来自允许的本地来源。
如果客户端收到 405 Method Not Allowed:
- 客户端可能正在使用 HTTP
GET。 - 为发送
POST /mcp的可流式传输 HTTP 工具调用配置客户端。
如果没有尼康工具出现:
- 确认 NikonMCP 模块卡已启用。
- 在更改模块启用后停止并启动 MCP 服务器。
- 确认客户端在服务器重启后已刷新或重新连接。