icon for mcp server

Claude 3.7 Sonnet Contentstack

STDIO

Enables LLM-agnostic interactions with Claude 3.7 Sonnet via GUI or CLI.

Claude 3.7 Sonnet MCP Interface

This project enables powerful, LLM-agnostic interactions with Claude 3.7 Sonnet, either via the Claude Desktop (MCP GUI) or directly through a command-line client using AWS Bedrock and the MCP protocol.


🧭 Options for Usage

You can interact with Claude in two ways:


🖥️ 1. Using Claude Desktop (GUI with MCP Server)

Claude Desktop provides a graphical interface for working with Claude via the MCP protocol. It is ideal for users who want a visual tool experience.

✅ Features

  • GUI-based interaction with Claude
  • Tool registration and calls via local or remote servers
  • Plug-and-play tool development and testing

🚀 Usage

  1. Start Claude Desktop

    • Run the application
    • Point it to your local or remote MCP-compatible tool server ( fastmcp install server_name.py )
  2. Connect a tool server

    • Claude Desktop uses MCP’s stdio or http transport to connect to tool providers.
  3. Start chatting

    • You can test tool calling, observe Claude's responses, and debug tool output.

📦 For more info, visit: https://github.com/ai-sdk/mcp


🧑‍💻 2. Using MCP Client Directly (CLI via Bedrock)

This CLI tool connects to Claude through AWS Bedrock and automatically handles tool calling using the MCP protocol.

✨ Features

  • CLI-driven interaction with Claude 3.7 Sonnet
  • Automatic tool discovery via MCP
  • Tool call execution and response routing
  • Rich UI with markdown, syntax highlighting, and spinners
  • Lightweight and extensible

📦 Setup

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 # or .venv\Scripts\activate on Windows uv pip install -r requirements.txt

Create a .env file in the root:

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

🧠 Model used: us.anthropic.claude-3-7-sonnet-20250219-v1:0

🚀 Running the Client

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

Example Tool Server

# tool_server.py from mcp.server.fastmcp import FastMCP server = FastMCP() @server.tool() class AddTool(Tool): name = "add" description = "Adds two numbers" input_schema = {"a": "number", "b": "number"} async def call(self, input): return input["a"] + input["b"] if __name__ == "__main__": server.run()

🧠 Interaction Flow

  • The CLI maintains a conversation history (configurable)
  • Claude can detect when a tool is needed and call it automatically
  • Tool responses are routed back to Claude for follow-up
  • Everything is streamed and displayed beautifully in your terminal

💡 Type quit anytime to exit.


🛠 Architecture Overview

Claude (via AWS Bedrock)
        |
      Client.py
        |
    ┌────────────┐
    │ MCP Server │  <── Tool: Python or JS
    └────────────┘

🧹 Cleanup

The client ensures graceful shutdown using AsyncExitStack and aclose() to clean up all sessions.


🖼️ Interface Preview

Here's a quick look at Claude Desktop in action:

Screenshot 2025-05-01 at 11 09 25 PM

🛡 License

MIT License


🙏 Credits

Be the First to Experience MCP Now