MCP聊天客户端

一个基于Streamlit的Web应用程序,作为MCP服务器的客户端,允许用户与Gemini模型交互,并利用所选MCP服务器的工具功能。

  • by Homin0321
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Homin0321/mcp-chat

使用说明

MCP聊天

MCP(模型上下文协议)是用于将AI应用程序连接到外部系统的开源标准。这是一个基于Streamlit的web应用程序,用作MCP服务器的客户端。它允许您与Gemini模型进行交互,该模型可以利用选定MCP服务器中的工具。

特性

  • 基于Web的用户界面:使用Streamlit构建的简单直观的聊天界面。
  • 多服务器支持:通过从下拉菜单中选择连接到不同的MCP服务器。支持基于stdio的本地服务器和基于HTTP/SSE的远程服务器。
  • 服务器检查:查看所选MCP服务器的可用提示、资源和工具。
  • 使用工具聊天:与Gemini模型交互,该模型可以使用连接的MCP服务器的功能作为工具来回答您的提示。
  • 配置显示:所选服务器的配置显示在侧栏中。

如何跑步

  1. 设置您的环境: 创建一个 .env 文件,方法是复制示例文件并使用GEMINI_API_KEY值对其进行编辑。

    cp .env.example .env
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 配置您的MCP服务器: 确保你有一个 mcp.json 文件在同一目录中。请参阅 配置 详见下文。

    cp mcp.json.example mcp.json
    
  4. 运行Streamlit应用程序:

    streamlit run app.py
    

配置

这 mcp.json 文件用于配置应用程序可以连接到的MCP服务器。

该文件应包含一个带有键的JSON对象 mcpServers此键的值是另一个JSON对象,其中每个键都是服务器名称。

基于标准的服务器(本地)

对于通过命令行在本地运行的服务器:

{
  "mcpServers": {
    "my-local-server": {
      "command": "python",
      "args": ["server.py"],
      "env": {
        "MY_VAR": "value"
      }
    }
  }
}
  • command:启动服务器的命令。
  • args:要传递给命令的参数列表。
  • env:(可选)为服务器进程设置的环境变量字典。

基于HTTP/SSE的服务器(远程)

对于远程服务器或通过HTTP/SSE运行的服务器:

{
  "mcpServers": {
    "my-remote-server": {
      "url": "http://localhost:8000/sse",
      "headers": {
        "Authorization": "Bearer token"
      }
    }
  }
}
  • url:MCP服务器的URL端点。
  • headers:(可选)要包含在对服务器的请求中的HTTP标头字典。