电影目录MCP服务器

一个支持双架构的电影目录信息MCP(Model Context Protocol)服务器,提供流式HTTP和标准输入/输出传输,适用于自定义业务逻辑和快速API代理。

  • by cloudz-modern-platform-demo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cloudz-modern-platform-demo/movie-catalog-mcp-server

使用说明

电影目录MCP服务器

MCP(模型上下文协议)服务器,用于支持双架构的电影目录信息。

先决条件

  • Python>=3.12
  • uv(Python包管理器)

快速开始

1.安装uv

如果你没有 uv 尚未安装:

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

窗户:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

或者通过pip安装:

pip install uv

2.安装依赖项

克隆存储库并安装依赖项:

# Navigate to project directory
cd movie-catalog-mcp-server

# Install dependencies with uv (automatically creates virtual environment)
uv sync

这将创建一个虚拟环境并安装所有必需的软件包,包括:

  • FastMCP框架
  • MCP-SDK
  • httpx用于异步HTTP请求
  • 配置的复制设置

运行服务器

该项目提供 三种不同的服务器配置:

1.手动MCP服务器(流式HTTP)

具有显式工具注册的默认服务器:

uv run movie-catalog-mcp-server
  • 运输:流式HTTP(支持SSE流式传输)
  • 主机: 0.0.0.0
  • 端口: 8100
  • 用例:自定义业务逻辑和细粒度控制

2.手动MCP服务器(标准)

与上述相同,但使用stdio传输进行本地集成:

uv run movie-catalog-stdio-mcp-server
  • 运输:标准输入/输出
  • 用例:本地MCP客户端集成(例如,Claude Desktop)

3.FastMCP自动生成服务器

根据OpenAPI规范自动生成工具:

uv run movie-catalog-fastmcp-server
  • 运输:流式HTTP
  • 主机: 0.0.0.0
  • 端口: 8100
  • 用例:无需手动工具实现的快速API代理
  • 需要:具有OpenAPI规范的后端API位于 http://localhost:8000/openapi.json

开发与测试

MCP检查员

用于在开发过程中测试和调试MCP工具的交互式工具:

uv run mcp dev src/movie_catalog_mcp_server/inspector_run.py

检查器提供了一个web界面来测试所有注册的MCP工具。

配置

使用环境变量或 .env 文件:

MCP服务器设置

MCP_NAME=movie-catalog-mcp-server  # Server name
MCP_HOST=0.0.0.0                    # Server host
MCP_PORT=8100                       # Server port

后端API设置

API_SERVER_URL=http://localhost:8000/  # Backend API base URL
API_ROOT_PATH=/api/v1                   # API root path
API_OPENAPI_PATH=/openapi.json          # OpenAPI spec path

快速开始

  1. 安装依赖项:

    uv sync
    
  2. 启动后端API (必填):

    # Make sure your movie catalog API is running at http://localhost:8000
    
  3. 运行MCP服务器:

    # For manual server:
    uv run movie-catalog-mcp-server
    
    # OR for auto-generated server:
    uv run movie-catalog-fastmcp-server
    
  4. 使用MCP检查员进行测试:

    uv run mcp dev src/movie_catalog_mcp_server/inspector_run.py
    
  5. MCP配置json:

    {
       "mcpServers": {
          "movie-catalog-mcp-server": {
             "url": "http://localhost:8100/mcp"
          },
          "movie-catalog-stdio-mcp-server": {
             "command": "uv",
             "args": [
             "run",
             "movie-catalog-stdio-mcp-server"
             ],
             "env": {}
          }
       }
    }