Nakama控制台MCP(只读)
该项目实现了一个只读的模型上下文协议(MCP)服务器,该服务器将选定的Nakama控制台API端点公开为MCP工具。
目标
- 为AI助手和工具提供对Nakama Console数据的安全、只读访问。
- 使用控制台凭据对Nakama控制台进行身份验证,并在内部维护会话令牌。
快速启动
- 复制
.env.example到.env并填写您的Nakama控制台凭据。 - 安装依赖项:
pip install -r requirements.txt- 运行MCP服务器(示例):
python server.py --mcp配置本地MCP条目(MCP.json)
如果您从VS Code LocalProcess MCP主机(或任何读取 mcp.json 文件),您需要指向 nakama-console-mcp 进入根目录 server.py 我们提供。下面是推荐的例子。
1.用户/全局 mcp.json (Windows绝对路径示例)
放置或更新 nakama-console-mcp 进入你的 mcp.json (这通常是存储在VS Code用户数据/漫游配置文件下的文件),因此它指向存储库 server.py 并通过 --mcp 标志:
"nakama-console-mcp": {
"type": "stdio",
"command": "python",
"args": [
"C:\\MCP Servers\\Nakama-Console-MCP\\server.py",
"--mcp"
]
}2.每个工作区 .vscode/mcp.json (建议用于特定项目配置)
对于特定于项目的配置,请添加 mcp.json 在工作空间下 .vscode/ 文件夹。这将配置与项目放在一起,并让VS Code自动为该工作区启动正确的MCP服务器。
使用安全输入变量的示例(推荐):
{
"servers": {
"nakama-console-mcp": {
"type": "stdio",
"command": "python",
"args": ["-m", "src.server", "--mcp"],
"cwd": "${workspaceFolder}",
"env": {
"NAKAMA_NAKAMA_CONSOLE_URL": "${input:nakama_url}",
"NAKAMA_NAKAMA_USERNAME": "${input:nakama_user}",
"NAKAMA_NAKAMA_PASSWORD": "${input:nakama_pass}",
"NAKAMA_NAKAMA_HTTP_KEY": "${input:nakama_key}"
}
}
},
"inputs": [
{ "id": "nakama_url", "type": "promptString", "description": "Nakama Console URL" },
{ "id": "nakama_user", "type": "promptString", "description": "Nakama Username" },
{ "id": "nakama_pass", "type": "promptString", "description": "Nakama Password", "password": true },
{ "id": "nakama_key", "type": "promptString", "description": "Nakama HTTP Key" }
]
}备选方案: 引用工作区本地env文件(如果您愿意的话 .env 文件):
{
"servers": {
"nakama-console-mcp": {
"type": "stdio",
"command": "python",
"args": ["-m", "src.server", "--mcp"],
"cwd": "${workspaceFolder}",
"envFile": "${workspaceFolder}/.env.nakama"
}
}
}安全说明: 更喜欢使用 inputs (promptString)用于存储机密,因此VS Code可以安全地存储它们,而不是将机密检查到源代码管理中。如果使用env文件,请将其置于版本控制之外(添加到 .gitignore).
安全
- 此项目目前是只读的,不会在Nakama服务器上执行任何写入/删除操作。
- 保持
.env脱离源代码控制。
下一步
- 实施存储、排行榜、比赛和服务器状态的完整工具集。
- 针对本地Nakama实例添加单元测试和集成测试。
