代码菜单mcp
用于CodeMenu代码段管理器的MCP服务器。
概述
这是一个模型上下文协议(MCP)服务器,提供与CodeMenu本地HTTP API的集成,允许AI助手访问和搜索存储在CodeMenu中的代码片段。
特性
服务器公开了以下用于与CodeMenu交互的工具:
- list_snippets -列出没有完整代码内容的代码段(以减少令牌使用)。返回id、标题、描述、语言、缩写、标签和组信息。支持按查询、语言、标记或组进行筛选。
- get_snippet -按ID检索特定代码段的全部详细信息,包括完整的代码内容
- list_tags -在CodeMenu中列出所有可用标签
- list_groups -在CodeMenu中列出所有可用组
先决条件
- 代码菜单 必须在Mac上运行(了解更多)
- 必须启用API 在CodeMenu设置中(CodeMenu→ 设置→ API)
- Node.js>=18.0.0
代码菜单API设置
- 打开代码菜单
- 转到“设置”→ API
- 启用API服务器
- 注意端口(默认值:1300)
- (可选)设置用于身份验证的API密钥
CodeMenu API在本地运行 http://127.0.0.1:1300/v1 默认情况下。
安装
来自npm(发布时)
npm install -g git+https://github.com/Extiri/codemenu-mcp.git来源
git clone https://github.com/Extiri/codemenu-mcp.git
cd codemenu-mcp
npm install
npm link配置
服务器连接到本地CodeMenu API,并支持以下环境变量:
环境变量
CODEMENU_API_URL-CodeMenu API的基本URL(默认值:http://127.0.0.1:1300/v1)CODEMENU_API_KEY-您的CodeMenu API键
Claude桌面配置示例
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"codemenu": {
"command": "node",
"args": ["/path/to/codemenu-mcp/index.js"],
"env": {
"CODEMENU_API_URL": "http://127.0.0.1:1300/v1",
"CODEMENU_API_KEY": "your-api-key"
}
}
}
}或者通过npm全局安装:
{
"mcpServers": {
"codemenu": {
"command": "codemenu-mcp",
"env": {
"CODEMENU_API_KEY": "your-api-key"
}
}
}
}备注:如果未在CodeMenu设置中启用API密钥保护,则可以省略 CODEMENU_API_KEY 环境变量。
用法
配置后,服务器将由您的MCP客户端(例如Claude Desktop)自动启动。AI助手将可以访问您的CodeMenu片段,并可以:
- 浏览和搜索您的代码片段
- 按语言、标签或组查找片段
- 需要时检索包含完整代码内容的特定代码段
- 列出可用的标签和组,以便更好地组织
交互示例
搜索片段:
"Search my CodeMenu snippets for sorting algorithms"按语言列出代码片段:
"Show me all my JavaScript snippets from CodeMenu"获取特定片段:
"Show me the full code for snippet ID ABC123"列表标签:
"What tags do I have in CodeMenu?"发展
运行服务器
npm start服务器通过stdio进行通信,这是MCP服务器的标准传输方式。
测试
npm test这验证了服务器正确实现了MCP协议。要测试实际的API调用,请确保CodeMenu在启用API的情况下运行。
项目结构
index.js-主服务器实现package.json-项目元数据和依赖关系test.js-MCP协议测试套件README.md-此文件LICENSE-MIT许可证.gitignore-从git中排除的文件
API 参考
服务器实现模型上下文协议,并公开与CodeMenu API端点对应的工具:
GET /snippets-列出带有可选筛选器(查询、语言、标记、组)的代码段GET /tags-列出所有标签GET /groups-列出所有组
有关CodeMenu API的详细信息,请参阅 CodeMenu API文档.
需求
- Node.js>=18.0.0
- 启用API的CodeMenu应用程序
- MCP客户端(如克劳德桌面)
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
支持
关于以下问题:
- 此MCP服务器:在GitHub上打开一个问题
- CodeMenu应用程序或API:请参阅CodeMenu文档
- MCP规格:见 模型上下文协议文档
故障排除
服务器无法连接到CodeMenu:
- 确保CodeMenu应用程序正在运行
- 检查在CodeMenu设置中是否启用了API
- 验证端口是否与您的配置匹配(默认值:1300)
- 如果您启用了API密钥保护,请确保
CODEMENU_API_KEY设置正确
未返回代码片段:
- 验证CodeMenu中是否有代码段
- 检查您的搜索筛选器是否限制过多
- 尝试先列出不带过滤器的列表
身份验证错误:
- 检查是否
CODEMENU_API_KEY环境变量设置正确
