模型上下文协议服务器

MCP服务器是一个标准化协议实现,用于连接AI模型与不同数据源和工具,提供资源、工具和提示三种核心能力。

  • by omalmaleesha
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 omalmaleesha/mcp-server-example

使用说明

MCP服务器示例

此存储库包含用于教育目的的模型上下文协议(MCP)服务器的实现。此代码演示了如何构建一个可以与各种LLM客户端集成的功能性MCP服务器。

什么是MCP?

MCP(模型上下文协议)是一种开放协议,它规范了应用程序如何向LLM提供上下文。将MCP想象成AI应用程序的USB-C端口——它提供了一种将AI模型连接到不同数据源和工具的标准化方法。

关键利益

  • LLM可以直接插入的预构建集成列表越来越多
  • 在LLM提供商和供应商之间灵活切换
  • 在基础架构中保护数据的最佳实践

架构概述

MCP遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器:

  • MCP主机:希望通过MCP访问数据的程序,如Claude Desktop、IDE或AI工具
  • MCP客户端:与服务器保持1:1连接的协议客户端
  • MCP服务器:通过标准化的模型上下文协议公开特定功能的轻量级程序
  • 数据源:MCP服务器可以访问的本地(文件、数据库)和远程服务(API)

MCP核心概念

MCP服务器可以提供三种主要功能:

  • 资源:可以由客户端读取的类文件数据(如API响应或文件内容)
  • 工具:LLM可以调用的函数(经用户批准)
  • 鼓励:帮助用户完成特定任务的预先编写的模板

入门指南

项目设置

  1. 创建并初始化项目:
# Create a new directory for our project
uv init mcp-server
cd mcp-server

# Create virtual environment and activate it
uv venv
source .venv\Scripts\activate   

# Install dependencies
uv add "mcp[cli]" httpx  beautifulsoup4
  1. 创建服务器实现文件:
touch main.py

运行服务器

  1. 启动MCP服务器:
uv run main.py
  1. 服务器将启动并准备接受连接

连接到克劳德桌面

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
    "mcpServers": {
        "mcp-server": {
            "command": "", 
            "args": [
                "--directory",
                "/path to your mcp-server",
                "run",
                "main.py"
            ]
        }
    }
}