Claude Desktop API服
一种允许 Claude Desktop 用户直接访问 Claude API 的服务器,使他们能够绕过专业计划的限制,并使用自定义系统提示和对话管理等高级功能。
可用工具 (1 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
send-message 1 个参数 需填 1 项
Send a message to Claude
必填参数:message
服务介绍
通过 MCP 集成 Claude 桌面 API
该项目提供了一个 MCP 服务器实现,使 Claude 桌面和 Claude API 之间能够无缝集成。它允许您绕过专业计划的限制,并访问自定义系统提示和对话管理等高级功能。
功能
- 通过 MCP 直接集成 Claude API
- 对话历史跟踪和管理
- 系统提示支持
- 在专业计划和 API 使用之间无缝切换
- 与 Claude 桌面轻松配置
使用场景
-
专业计划(默认):
- Claude 桌面中的常规对话
- 计划内的基本使用
- 不需要特殊配置
-
API 令牌(通过此 MCP 服务器):
- 当您需要更长的上下文窗口时
- 使用自定义系统提示
- 绕过速率限制
- 用于高级对话管理
设置说明
-
克隆仓库
# 使用 VS Code: # 1. 按下 Cmd + Shift + P # 2. 输入 "Git: Clone" # 3. 粘贴: https://github.com/mlobo2012/Claude_Desktop_API_USE_VIA_MCP.git # 或者使用终端: 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 -
配置环境
# 复制环境模板 cp .env.example .env # 编辑 .env 并添加您的 API 密钥 ANTHROPIC_API_KEY=your_api_key_here -
配置 Claude 桌面
- macOS: 导航到
~/Library/Application Support/Claude/# 使用 Finder: # 1. 按下 Cmd + Shift + G # 2. 输入: ~/Library/Application Support/Claude/ - Windows: 导航到
%APPDATA%\Claude\ - 创建或编辑
claude_desktop_config.json - 从
config/claude_desktop_config.json复制内容 - 更新路径和 API 密钥
- macOS: 导航到
使用指南
基本使用
-
常规 Claude 桌面使用
- 只需正常与 Claude 聊天
- 使用您的专业计划
- 无需特殊命令
-
API 使用
@claude-api 请通过 API 回答:法国的首都是什么?
高级功能
-
使用系统提示
@claude-api {"system_prompt": "你是一位健身教练专家"} 创建一个锻炼计划 -
管理对话
# 开始新的对话 @claude-api {"conversation_id": "project1"} 让我们讨论 Python # 继续同一对话 @claude-api {"conversation_id": "project1"} 告诉我更多 # 查看对话历史 @claude-api get_conversation_history project1 # 清除对话 @claude-api clear_conversation project1
成本管理
- API 调用会使用您的 Anthropic API 积分,并可能会产生费用
- 对于常规查询,请使用专业计划
- 仅在您特别需要以下功能时使用 @claude-api:
- 更长的上下文窗口
- 自定义系统提示
- 绕过速率限制
可用的 MCP 工具
-
query_claude- 直接向 Claude 发起 API 调用
- 支持系统提示
- 会话跟踪
-
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 Desktop 日志
-
使用问题
- 确保使用了正确的 @claude-api 语法
- 检查会话 ID
- 验证系统提示格式
贡献
- 分叉仓库
- 创建一个特性分支
- 进行更改
- 提交拉取请求
许可证
MIT
支持
对于问题和疑问:
- 在仓库中打开一个 issue
- 查看现有的讨论
- 阅读故障排除指南