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 客户端。使用以下配置客户端:

  1. 端点 URL:页面上显示的配置端点。
  2. 授权头: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 服务器。
  • 确认客户端在服务器重启后已刷新或重新连接。