AI代理服务器

一个基于Model Context Protocol (MCP)的示例服务器应用,为AI代理提供工具和资源,支持STDIO和HTTP两种传输类型,并集成了FastAPI框架。

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

使用说明

MCP服务器示例

这个项目, 模型上下文协议(MCP) 它是一个示例服务器应用程序,为AI中介提供工具和资源。使用FastMCP库开发。

📋 内容

✨ 产品特点

  • 支持两种运输方式:STDIO可流式传输HTTP
  • FastMCP 库现代和高性能的MCP实现
  • 文档工具从数据库获取文档的示例工具
  • CORS 支持对基于 Web 的应用程序的全面 CORS 支持
  • Async/Await 支持:现代Python异步程序a
  • FastAPI集成用于HTTP传输的强大的Web框架

🚀 安装

要求

  • Python 3.11 或更高版本
  • pip 包管理器

上传依赖关系

pip install -r requirements.txt

或

pip install mcp>=1.20.0 fastapi uvicorn

📖 使用

STDIO Transport(本地使用)

STDIO传输非常适合AI中介直接在过程中进行通信:

python mcp_server.py

HTTP 传输(远程使用)

HTTP传输适用于基于Web的应用程序和远程访问:

python example_http_transport_main.py

服务器启动后,可以在以下地址访问:

  • 安娜终点: http://localhost:8080/docs
  • MCP端点: http://localhost:8080/docs/mcp/

🔄 运输类型

1.STDIO运输

# mcp_server.py içinde
mcp.run(transport="stdio")

产品特点:

  • 直接过程通信
  • 低延迟
  • 针对AI工具进行了优化
  • 适用于调试和开发

2.流式HTTP传输

# example_http_transport_main.py içinde
app.mount("/docs", docs_mcp_server.streamable_http_app())

产品特点:

  • RESTful API 支持
  • CORS政策
  • 基于 Web 的集成
  • 可扩展架构
  • FastAPI的高级功能

🛠 API 参考

现有车辆

get_documentation_from_database()

从数据库获取项目文档。

回报价值:

{
  "title": "How to Use MCP Servers",
  "body": "Bu, veritabanından gelen örnek bir dokümantasyon girdisidir...",
  "source": "mocked_database"
}

应用领域:

  • 了解项目
  • 为 AI 工具提供上下文
  • 文档查询

📁 项目结构

mcp-server-example/
├── mcp_server.py                   # Ana MCP sunucu implementasyonu
├── main.py                         # Basit entry point
├── example_http_transport_main.py  # HTTP transport örneği
├── pyproject.toml                  # Proje konfigürasyonu
├── README.md                       # Bu dosya

文件描述

  • **mcp_server.py**MCP服务器的主要实现,工具定义的位置
  • **example_http_transport_main.py**使用 FastAPI 的 HTTP 传输示例
  • **main.py**简单的起点和测试目的
  • **pyproject.toml**Python项目配置和依赖关系

🔧 开发

添加新车

@mcp.tool()
def your_new_tool(parameter: str) -> dict:
    """
    Yeni aracınızın açıklaması
    """
    # Implementasyon buraya
    return {"result": "success"}

配置

mcp_server.py 您可以更改文件中的服务器设置:

# STDIO için
mcp = FastMCP("your-server-name")

# HTTP için
mcp = FastMCP("your-server-name", port=8080, host="localhost")

调试模块

要在调试模式下运行 HTTP 服务器:

uvicorn.run(app, host="localhost", port=8080, log_level="debug")

🔗 有用的链接