返回市场
内容堆栈

内容堆栈

作者:viveksingh-ctrl4 星标更新:2025-05-02

项目介绍

Claude 3.7 Sonnet MCP 接口

该项目实现了与 Claude 3.7 Sonnet 的强大且与大型语言模型无关的交互,可以通过 Claude Desktop(MCP 图形界面)或通过使用 AWS BedrockMCP 协议 的命令行客户端进行交互。


🧭 使用选项

您可以以两种方式与 Claude 进行交互:


🖥️ 1. 使用 Claude Desktop(带有 MCP 服务器的图形界面)

Claude Desktop 提供了一个通过 MCP 协议与 Claude 交互的图形界面。它非常适合希望获得可视化工具体验的用户。

✅ 功能

  • 基于图形界面与 Claude 交互
  • 通过本地或远程服务器注册和调用工具
  • 插件式工具开发和测试

🚀 使用方法

  1. 启动 Claude Desktop

    • 运行应用程序
    • 指向您的本地或远程兼容 MCP 的工具服务器 (fastmcp install server_name.py)
  2. 连接工具服务器

    • Claude Desktop 使用 MCP 的 stdiohttp 传输协议连接到工具提供者。
  3. 开始聊天

    • 您可以测试工具调用、观察 Claude 的响应并调试工具输出。

📦 更多信息,请访问:https://github.com/ai-sdk/mcp


🧑‍💻 2. 直接使用 MCP 客户端(通过 Bedrock 的 CLI)

此 CLI 工具通过 AWS Bedrock 连接到 Claude,并自动处理工具调用,使用 MCP 协议。

✨ 功能

  • 基于 CLI 与 Claude 3.7 Sonnet 交互
  • 通过 MCP 自动发现工具
  • 执行工具调用和响应路由
  • 具有 Markdown、语法高亮和加载指示器的丰富界面
  • 轻量级且可扩展

📦 设置

curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/your-username/claude-mcp-client.git
cd claude-mcp-client
uv venv .venv
source .venv/bin/activate  # 或在 Windows 上使用 .venv\Scripts\activate
uv pip install -r requirements.txt

在根目录创建一个 .env 文件:

AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
AWS_REGION=us-east-1
AUTHTOKEN=bltsomething
BRAND_KIT_UID=cssomething

🧠 使用的模型:us.anthropic.claude-3-7-sonnet-20250219-v1:0

🚀 运行客户端

python client.py ./brand-kit/knowledge-vault/crud.py

示例工具服务器

# tool_server.py
from mcp.server.fastmcp import FastMCP 
server = FastMCP()
@server.tool()
class AddTool(Tool):
    name = "add"
    description = "添加两个数字"
    input_schema = {"a": "number", "b": "number"}

    async def call(self, input):
        return input["a"] + input["b"]

if __name__ == "__main__":
    server.run()

🧠 交互流程

  • CLI 维护对话历史记录(可配置)
  • 当需要工具时,Claude 可以检测并自动调用
  • 工具响应被路由回 Claude 以便进一步跟进
  • 所有内容都流式传输并在终端中漂亮地显示

💡 输入 quit 退出。


🛠 架构概述

Claude (通过 AWS Bedrock)
        |
      Client.py
        |
    ┌────────────┐
    │ MCP 服务器 │  <── 工具:Python 或 JS
    └────────────┘

🧹 清理

客户端使用 AsyncExitStackaclose() 确保优雅关闭,清理所有会话。


🖼️ 界面预览

这是 Claude Desktop 在运行时的一个快速预览:

2025-05-01 23 09 25 的屏幕截图

🛡 许可证

MIT 许可证


🙏 致谢