使用说明
Claude Desktop API通过MCP集成
该项目提供了一个MCP服务器实现,可以实现Claude Desktop和Claude API之间的无缝集成。它允许您绕过专业计划的限制,并访问自定义系统提示和对话管理等高级功能。
特性
- 通过MCP直接集成Claude API
- 会话历史跟踪和管理
- 系统提示支持
- 专业计划和API使用之间的无缝切换
- 使用Claude Desktop轻松配置
何时使用
-
专业计划 (默认):
- Claude Desktop中的定期对话
- 计划范围内的基本使用
- 无需特殊配置
-
API代币 (通过此MCP服务器):
- 当您需要更长的上下文窗口时
- 使用自定义系统提示
- 绕过速率限制
- 用于高级对话管理
安装说明
-
克隆存储库
# Using VS Code: # 1. Press Cmd + Shift + P # 2. Type "Git: Clone" # 3. Paste: https://github.com/mlobo2012/Claude_Desktop_API_USE_VIA_MCP.git # Or using terminal: git clone https://github.com/mlobo2012/Claude_Desktop_API_USE_VIA_MCP.git cd Claude_Desktop_API_USE_VIA_MCP -
再进行
pip install -r requirements.txt -
配置环境
# Copy environment template cp .env.example .env # Edit .env and add your API key ANTHROPIC_API_KEY=your_api_key_here -
配置Claude桌面
- macOS:导航到
~/Library/Application Support/Claude/# Using Finder: # 1. Press Cmd + Shift + G # 2. Enter: ~/Library/Application Support/Claude/ - Windows:导航到
%APPDATA%\Claude\ - 创建或编辑
claude_desktop_config.json - 从以下位置复制内容
config/claude_desktop_config.json - 更新路径和API密钥
- macOS:导航到
使用指南
基本用法
-
常规克劳德桌面使用
- 只需与Claude正常聊天
- 使用您的专业计划
- 无需特殊命令
-
API使用
@claude-api Please answer using the API: What is the capital of France?
高级功能
-
使用系统提示
@claude-api {"system_prompt": "You are an expert fitness coach"} Create a workout plan -
管理对话
# Start a new conversation @claude-api {"conversation_id": "project1"} Let's discuss Python # Continue same conversation @claude-api {"conversation_id": "project1"} Tell me more # View conversation history @claude-api get_conversation_history project1 # Clear conversation @claude-api clear_conversation project1
成本管理
- API呼叫使用您的Anthropic API信用,可能会产生费用
- 使用专业计划进行定期查询
- 仅在您特别需要时使用@claude api:
- 更长的上下文窗口
- 自定义系统提示
- 绕过速率限制
MCP工具可用
-
query_claude- 直接打API电话给Claude
- 支持系统提示
- 对话跟踪
-
clear_conversation- 重置对话历史记录
- 管理多个对话线程
-
get_conversation_history- 检索对话记录
- 调试对话流
发展
主服务器实现在 src/claude_api_server.py。要扩展功能,您可以使用添加新工具 @mcp.tool() 装饰师。
添加新工具的示例:
@mcp.tool()
async def custom_tool(param: str) -> str:
"""
Custom tool description
Args:
param: Parameter description
"""
try:
# Tool implementation
return result
except Exception as e:
return f"Error: {str(e)}"
故障排除
-
API关键问题
- 在.env中验证您的API密钥
- 检查Claude Desktop配置路径
- 确保API密钥具有正确的权限
-
连接问题
- 检查MCP服务器是否正在运行
- 验证Python环境
- 检查克劳德桌面日志
-
使用问题
- 确保@claude-api语法正确
- 检查对话ID
- 验证系统提示格式
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
麻省理工学院
支持
对于问题和疑问:
- 在存储库中打开问题
- 检查现有讨论
- 查看故障排除指南
