使用说明
模型上下文协议(MCP)实现示例
此存储库包含模型上下文协议(MCP)的示例实现,MCP是一种为大型语言模型(LLM)提供上下文的标准化方法。
什么是MCP?
模型上下文协议(MCP)是一种开放协议,它规范了应用程序如何向LLM提供上下文。将MCP想象成AI应用程序的USB-C端口——它提供了一种将AI模型连接到不同数据源和工具的标准化方法。
目录
此存储库包括:
simple_mcp_server.py:基本的MCP服务器实现github_mcp_server.py:一个从GitHub存储库提供代码上下文的MCP服务器linkedin_mcp_server.py:支持LinkedIn集成的MCP服务器llm_with_mcp.py:将LLM连接到MCP服务器的示例代码
入门指南
先决条件
- Python 3.8+
- 必需的Python包(使用pip安装):
安装
- 克隆此存储库:
git clone https://github.com/yourusername/mcp-server.git
cd mcp-server
- 安装依赖项:
pip install -r requirements.txt
用法
运行简单的MCP服务器
python simple_mcp_server.py
这将启动一个基本的MCP服务器 http://localhost:8000.
GitHub集成
要运行GitHub MCP服务器:
# Set your GitHub token as an environment variable
export GITHUB_TOKEN=your_github_token_here
# Run the server
python github_mcp_server.py
LinkedIn集成
要运行LinkedIn MCP服务器:
# Set your LinkedIn credentials
export LINKEDIN_CLIENT_ID=your_client_id
export LINKEDIN_CLIENT_SECRET=your_client_secret
# Run the server
python linkedin_mcp_server.py
将LLM连接到MCP服务器
python llm_with_mcp.py
有关如何配置LLM以使用不同MCP服务器的示例,请参阅代码。
配置
您可以使用环境变量或通过修改配置文件来配置服务器:
config/simple_mcp_config.json:简单MCP服务器的配置config/github_config.json:GitHub MCP服务器的配置config/linkedin_config.json:LinkedIn MCP服务器的配置
配置文件详细信息
简单的MCP服务器配置
这 config/simple_mcp_config.json 文件包含基本MCP服务器的设置:
{
"server": {
"host": "0.0.0.0",
"port": 8000,
"debug": false
},
"retrieval": {
"max_context_length": 4000,
"max_results": 5,
"similarity_threshold": 0.7
},
"logging": {
"level": "INFO",
"file": "logs/simple_mcp_server.log"
}
}
GitHub MCP服务器配置
这 config/github_config.json 文件配置GitHub集成:
{
"server": {
"host": "0.0.0.0",
"port": 8001,
"debug": false
},
"github": {
"token": "",
"max_repos": 5,
"max_files_per_repo": 20,
"include_private_repos": false
},
"retrieval": {
"max_context_length": 4000,
"max_results": 5,
"similarity_threshold": 0.7
},
"logging": {
"level": "INFO",
"file": "logs/github_mcp_server.log"
}
}
LinkedIn MCP服务器配置
这 config/linkedin_config.json 文件配置LinkedIn集成:
{
"server": {
"host": "0.0.0.0",
"port": 8002,
"debug": false
},
"linkedin": {
"client_id": "",
"client_secret": "",
"redirect_uri": "http://localhost:8002/auth/callback",
"scope": "r_liteprofile r_emailaddress"
},
"retrieval": {
"max_context_length": 2000,
"max_results": 3
},
"logging": {
"level": "INFO",
"file": "logs/linkedin_mcp_server.log"
}
}
使用环境变量
您还可以使用环境变量配置服务器:
# Simple MCP Server
export MCP_SERVER_PORT=8000
export MCP_MAX_CONTEXT_LENGTH=4000
# GitHub MCP Server
export GITHUB_TOKEN=your_github_token_here
export GITHUB_MCP_SERVER_PORT=8001
# LinkedIn MCP Server
export LINKEDIN_CLIENT_ID=your_client_id
export LINKEDIN_CLIENT_SECRET=your_client_secret
export LINKEDIN_MCP_SERVER_PORT=8002
API文档
每个MCP服务器实现以下端点:
POST /retrieve:根据输入查询检索上下文GET /health:健康检查端点GET /info:返回有关服务器功能的信息
有关API的详细文档,请参阅 MCP规范.
贡献
欢迎投稿!请随时提交拉取请求。
