编码对话MCP服务器
一个模型上下文协议(MCP)服务器,使Claude能够通过OpenRouter访问外部AI模型以获得编码帮助。
特性
- 提供两个MCP工具:
- call_external_model:咨询外部AI模型以获取编码帮助 - list_available_models:了解可用型号及其功能
- 与OpenAI的GPT-4.1模型(nano、mini和完整版本)集成
- 包括详细的模型元数据(描述、用例、优势、成本层次)
- 为API调用提供成本估计
- 具有增强的错误处理功能,并提供详细的错误消息
安装
- 克隆存储库:
git clone https://github.com/your-username/coding-conversations-mcp.git
cd coding-conversations-mcp- 安装依赖项:
npm install- 创建配置文件:
cp src/config/models-config.template.json src/config/models-config.json- 编辑
src/config/models-config.json并添加您的OpenRouter API密钥
- 构建项目:
npm run build配置
设置模型-config.json
编辑 src/config/models-config.json 配置可用模型的文件:
{
"models": {
"nano": {
"endpoint": "https://openrouter.ai/api/v1/chat/completions",
"modelId": "openai/gpt-4.1-nano",
"token": "YOUR_OPENROUTER_API_KEY_HERE",
"metadata": {
"description": "GPT-4.1 Nano - Smallest and fastest GPT-4.1 variant",
"useCase": "Quick code reviews, simple debugging tasks, and basic coding assistance",
"strengths": ["Fast response time", "Cost-effective", "Good for simple tasks"],
"costTier": "low"
}
},
"mini": {
"endpoint": "https://openrouter.ai/api/v1/chat/completions",
"modelId": "openai/gpt-4.1-mini",
"token": "YOUR_OPENROUTER_API_KEY_HERE",
"metadata": {
"description": "GPT-4.1 Mini - Mid-sized GPT-4.1 variant with good balance of speed and capability",
"useCase": "Complex debugging, code optimization, and architectural suggestions",
"strengths": ["Good balance of speed and capability", "Strong coding knowledge", "Detailed explanations"],
"costTier": "medium"
}
},
"full": {
"endpoint": "https://openrouter.ai/api/v1/chat/completions",
"modelId": "openai/gpt-4.1",
"token": "YOUR_OPENROUTER_API_KEY_HERE",
"metadata": {
"description": "GPT-4.1 - Full-sized GPT-4.1 model with maximum capability",
"useCase": "Complex system design, advanced debugging, and in-depth code analysis",
"strengths": ["Most comprehensive understanding", "Best for complex problems", "Detailed and nuanced responses"],
"costTier": "high"
}
}
},
"routing": {
"default_model": "mini"
}
}您可以按照相同的模式添加其他模型。这 token 字段应包含您的OpenRouter API密钥。这 metadata 字段是可选的,但建议用于提供有关每个模型的有用信息。
使用Claude进行配置
适用于Claude VSCode扩展
在以下位置编辑设置文件: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
添加您的MCP服务器:
{
"mcpServers": {
"coding-conversations": {
"command": "node",
"args": ["/path/to/your/coding-conversations-mcp/dist/index.js"],
"disabled": false,
"autoApprove": []
}
}
}适用于Claude桌面应用程序
在以下位置编辑设置文件: ~/Library/Application Support/Claude/claude_desktop_config.json
添加您的MCP服务器,类似于上面的VSCode示例。
用法
列出可用型号
要查看可用的模型及其功能,请让Claude使用 list_available_models 工具:
Can you use the list_available_models tool to show me what AI models are available for coding assistance?Claude将返回一个包含元数据的可用模型列表,包括描述、用例、优势和成本等级。
咨询外部模型
配置后,让Claude使用 call_external_model 用于咨询外部模型的工具:
Can you use the call_external_model tool to ask the mini model about the best way to implement promise.all with a concurrency limit in JavaScript?Claude将使用该工具通过OpenRouter与指定模型通信并呈现响应。
刀具参数
调用外部模型
这 call_external_model 工具接受以下参数:
model(可选):要使用的型号(例如,“纳米”、“迷你”、“全”)。如果未指定,将使用配置中的默认模型。message(必填):您想向外部模型提出的问题或难题。context(可选):有关问题的其他上下文,如代码片段、错误消息或相关背景信息。
list_available_models
这 list_available_models 该工具不需要任何参数。
响应格式
调用外部模型
该工具返回一个包含以下字段的响应:
response:来自外部模型的文本响应。modelUsed:所用模型的名称。modelInfo:关于模型的元数据,包括描述、用例、优势和成本层。usage:令牌使用信息。estimatedCost:API调用的估计成本(如果可用)。
list_available_models
该工具返回一个包含以下字段的响应:
models:可用模型及其元数据的列表。defaultModel:默认模型的名称。
发展
src/index.ts-主要入口点和MCP服务器实现src/services/model-service.ts-与OpenRouter的服务处理通信src/types.ts-TypeScript类型和接口src/config/models-config.json-配置(不受版本控制)
错误处理
服务器包括增强的错误处理功能,针对不同类型的错误提供特定的错误消息:
- 身份验证错误(401/403)
- 速率限制错误(429)
- 服务器错误(500+)
- API一般错误
这使得在问题发生时更容易诊断和修复问题。
成本估算
服务器基于每个模型的令牌使用和近似定价,为每个API调用提供估计成本。这有助于跟踪使用情况并估算成本。
许可证
麻省理工学院
