AI应用交互协议

MCP是一个用于构建能够与外部工具和API交互的AI应用程序的标准协议,包含MCP服务器和客户端两个主要组件。

  • by sharmatriloknath
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sharmatriloknath/mcp_starter

使用说明

MCP启动项目

什么是MCP?

模型上下文协议(MCP)是构建可以与外部工具和API交互的AI应用程序的标准。它由两个主要部分组成:

  1. MCP服务器:一个Python服务,定义并公开可由AI模型调用的工具/函数
  2. MCP客户端:一个Types/JavaScript客户端,连接到MCP服务器并管理AI模型和工具之间的交互

项目结构

mcp_starter/
├── mcp-server/           # Python MCP server implementation
│   ├── main.py          # Server with documentation search tool
│   └── pyproject.toml   # Python dependencies
└── mcp-clients/         # TypeScript MCP client implementation
    ├── index.ts         # Express server with HuggingFace integration
    └── package.json     # Node.js dependencies

入门指南

先决条件

设置服务器

  1. 创建一个Python虚拟环境并激活它:
cd mcp-server
python -m venv .venv
# On Windows
.venv\Scripts\activate
  1. 安装依赖项:
pip install -e .
  1. 创建一个 .env 文件在 mcp-server 目录:
SERPER_API_KEY=your_serper_api_key_here

设置客户端

  1. 安装Node.js依赖项:
cd mcp-clients
npm install
  1. 创建一个 .env 文件在 mcp-clients 目录:
HUGGINGFACE_API_KEY=your_huggingface_api_key_here
  1. 构建TypeScript代码:
npm run build

运行应用程序

  1. 启动MCP服务器:
cd mcp-server
python main.py
  1. 在新终端中,启动客户端服务器:
cd mcp-clients
node build/index.js ../mcp-server/main.py

使用API

客户端公开了两个端点:

  • 健康检查: GET http://localhost:3000/health
  • 聊天: POST http://localhost:3000/chat

聊天请求示例:

{
  "query": "Search the langchain docs for RAG",
  "sessionId": "user123"
}

特性

  • 文档搜索工具:搜索流行AI库的文档:

    • LangChain
    • 调用Index
    • OpenAI
  • 会话管理:维护每个会话的聊天历史记录

  • 工具集成:将AI模型响应与工具调用无缝集成

  • 错误处理:针对API调用和工具执行的强大错误处理

运作原理

  1. MCP服务器定义了AI模型可以调用的工具
  2. 客户端连接到MCP服务器并检索可用工具
  3. 当用户发送查询时:
    • 客户端格式化对话历史记录
    • 将其发送到拥抱脸模型
    • 从模型的响应中提取并执行工具调用
    • 返回包含工具结果的最终响应

环境变量

服务器

  • SERPER_API_KEY:用于Google搜索功能的API密钥

客户端

  • HUGGINGFACE_API_KEY:用于访问拥抱面部模型的API密钥

许可证

MIT许可证