MCP客户端集成演示

一个展示如何将MCP服务器集成到客户端应用程序中的演示项目,包含Gradio网页界面和CLI应用程序。

  • by astensby
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 astensby/gritai-mcp-client-app-demo

使用说明

MCP客户端应用程序-演示项目

一个演示项目,展示了在客户端主机应用程序中集成MCP(模型上下文协议)服务器的不同方法。该项目包括Gradio web界面和CLI应用程序。

特性

  • Gradio网络应用程序 -具有Anthropic API+FastMCP集成功能的交互式web界面
  • CLI应用程序 -使用外部MCP服务器的Claude Agent SDK的命令行界面
  • MCP服务器演示 -暴露挪威警察事件API的Python MCP服务器示例
  • 干净、最少的代码库,适合学习和演示

先决条件

  • Python 3.10+
  • 紫外线 包管理器
  • 无烟煤API键
  • Node.js(用于带文件系统MCP服务器的CLI演示)

设置

1.配置API密钥

复制示例环境文件并添加Anthropic API密钥:

cp .env.example .env
# Edit .env and add: ANTHROPIC_API_KEY=sk-ant-...

2.安装依赖项

uv sync

3.(可选)安装文件系统MCP服务器

对于CLI演示,安装Node.js文件系统MCP服务器:

npm install -g @modelcontextprotocol/server-filesystem

演示应用程序

Gradio网络应用程序

一个基于网络的聊天界面,使用FastMCP连接到MCP服务器。

运行:

cd gradio-demo-app
uv run python app.py

Gradio界面将在浏览器中启动(通常在 http://127.0.0.1:7860).

特征:

  • 交互式聊天界面
  • FastMCP客户端集成
  • 与MCP服务器进行实时工具调用

CLI应用程序

一个使用Claude Agent SDK的交互式命令行界面,支持外部MCP服务器。

运行:

cd cli-demo-app
uv run python claude_agent_cli_with_mcp.py

特征:

  • 具有命令历史记录的交互式CLI
  • 内置Claude Agent工具(读、写、Grep、Glob)
  • 外部MCP服务器集成(文件系统、自定义Python服务器)
  • 自动服务器生命周期管理

CLI命令:

  • /help -显示可用命令
  • /tools -列出可用工具
  • /clear -清除对话历史记录
  • /quit -退出CLI

示例提示

在任一演示中尝试以下提示:

  • “挪威最近发生了什么警察事件?”
  • “给我看看奥斯陆的警察事件”
  • “卑尔根最近发生了什么事件吗?”
  • “你们有什么工具?”

项目结构

mcp-client-app-ndc/
├── gradio-demo-app/
│   └── app.py              # Gradio web app with FastMCP integration
├── cli-demo-app/
│   └── claude_agent_cli_with_mcp.py  # CLI app with Claude Agent SDK
├── demoserver/
│   └── public_api_server.py  # Example MCP server (Norwegian Police incidents)
├── pyproject.toml          # Project configuration with dependencies
├── requirements.txt        # Alternative dependency list
└── .env.example            # Environment variables template

MCP服务器

该项目包括一个演示MCP服务器,位于 demoserver/public_api_server.py 与API挪威警察事件有关。

外露工具:

  • latest_incidents() -获取挪威警方最新10起事件
  • incidents_by_municipality(municipality) -获取特定市政当局的事件(例如“奥斯陆”、“卑尔根”)

两个演示应用程序都会自动连接到此本地MCP服务器。

使用的技术

  • 无烟煤API -克劳德人工智能模型
  • FastMCP -MCP协议的FastMCP客户端库
  • Claude代理SDK -用于构建基于Claude的应用程序的SDK
  • 度 -Web UI框架
  • 提示工具包 -CLI接口库
  • python dotenv -环境变量管理