使用说明
MCP客户端TypeScript
模型上下文协议(MCP)的TypeScript客户端,可实现Anthropic的Claude AI和MCP服务器之间的无缝集成。该客户端充当桥梁,允许Claude通过MCP协议与外部工具和服务进行交互。
特性
- 🔌 轻松集成MCP服务器:连接到任何MCP服务器(Python或JavaScript)
- 🤖 Claude AI集成:与Anthropic的Claude API无缝通信
- 🛠️ 动态工具发现:自动发现服务器工具并将其暴露给Claude
- 💬 交互式聊天界面:用于实时交互的命令行界面
- 🔄 两阶段处理:通过工具执行和响应处理来处理复杂的MCP工作流程
- 📝 综合录井:用于调试和监控的内置日志记录
安装
先决条件
- Node.js 18+
- TypeScript 5.0+
- 人类API密钥
设置
-
克隆仓库
git clone <repository-url> cd mcp_client_typescript -
安装依赖项
npm install -
设置环境变量
cp .env.example .env编辑
.env并添加您的Anthropic API密钥:ANTHROPIC_API_KEY=your_api_key_here ANTHROPIC_MODEL=claude-3-5-sonnet-20241022 -
构建项目
npm run build
用法
基本用法
使用MCP服务器运行客户端:
npm start <path_to_server_script>
示例:
# Python MCP server
npm start ./servers/my_python_server.py
# JavaScript MCP server
npm start ./servers/my_js_server.js
交互模式
连接后,您可以通过命令行界面与Claude交互:
MCP Client Started!
Type your queries or 'quit' to exit.
Query: What tools are available?
[Calling tool list_tools with args {}]
Available tools: file_operations, database_query, web_search
Query: Search for information about TypeScript
[Calling tool web_search with args {"query": "TypeScript"}]
Based on the search results, TypeScript is a strongly typed programming language...
程序化使用
您还可以将客户端用作库:
import { MCPClient } from "@adise/mcp-client-typescript";
const client = new MCPClient();
try {
// Connect to an MCP server
await client.connectToServer("./servers/my_server.py");
// Start interactive chat
await client.chatLoop();
} finally {
// Clean up connections
await client.cleanup();
}
运作原理
MCP客户端实现了复杂的两阶段通信模式:
- 工具发现:连接到MCP服务器并检索可用工具
- 查询处理:
- 向Claude发送用户查询+工具描述
- Claude决定使用哪些工具(如果有的话)
- 通过MCP服务器执行工具调用
- 处理结果并生成最终响应
看 HOW_IT_WORKS.md 详细的技术说明。
api参考
MCP客户端类
构造函数
new MCPClient();
创建新的MCP客户端实例。
方法
connectToServer(serverScriptPath: string): Promise<void>
连接到MCP服务器并发现可用工具。
参数:
serverScriptPath:MCP服务器脚本的路径(.py或.js文件)
投掷: 连接失败或服务器脚本无效时出错
chatLoop(): Promise<void>
启动与用户的交互式聊天循环。
cleanup(): Promise<void>
关闭连接并清理资源。
环境变量
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
ANTHROPIC_API_KEY |
您的Anthropic API密钥 | 是 | - |
ANTHROPIC_MODEL |
要使用的Claude模型 | 否 | claude-3-5-sonnet-20241022 |
脚本
npm run build:将TypeScript编译为JavaScriptnpm run dev:构建并运行客户端npm run start:运行已编译的客户端npm run clean:删除构建工件
建筑
npm run build
在发展中奔跑
npm run dev <path_to_server_script>
例子
故障排除
常见问题
-
“未设置ANTHROPIC_API_KEY”
- 确保您的
.env文件包含有效的Anthropic API密钥 - 检查一下
.env文件位于项目根目录中
- 确保您的
-
“无法连接到MCP服务器”
- 验证服务器脚本路径是否正确
- 确保服务器脚本可执行
- 检查服务器脚本是否正确实现了MCP协议
-
“服务器脚本必须是.js或.py文件”
- 仅支持Python(.py)和JavaScript(.js)服务器脚本
- 确保您的服务器脚本具有正确的文件扩展名
调试模式
通过设置启用详细日志记录 DEBUG 环境变量:
DEBUG=* npm start ./servers/my_server.py
贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
支持
对于问题和疑问:
- 在存储库中创建问题
- 检查故障排除部分
- 查看 HOW_IT_WORKS.md 文档
