mcpField
B
Barebones MCP Server for Netlify

Barebones MCP Server for Netlify

本地服务
github.com/memextech云与基础设施077 周前更新

关于 Barebones MCP Server for Netlify

这是可部署到 Netlify 的 MCP 服务模板,包含示例分析工具和报告说明资源,并附带用于测试与集成的 FastAPI REST 客户端。

主要功能

  1. 01适用于 Netlify 的无服务器 MCP 服务
  2. 02示例分析报告工具
  3. 03报告解读资源
  4. 04FastAPI REST API
  5. 05Swagger UI 与测试脚本

适用场景

  1. 01在 Netlify 上搭建 MCP 服务原型
  2. 02通过 REST 端点测试工具和资源
  3. 03结合分析结果查阅报告说明

MCP 相关

该服务向 MCP 客户端提供示例分析工具和报告解读资源。FastAPI 客户端提供 REST 端点,用于列出和调用工具、读取资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mcp_netlify_template": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
启动命令npx -y mcp-remote

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-remote

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

用于 Netlify 的精简 MCP 服务

这是一个精简版的模型上下文协议(MCP)服务实现,旨在部署到 Netlify。该 MCP 服务通过模型上下文协议提供工具和资源,供 AI 助手使用。

本项目还包含一个 FastAPI 客户端,提供用于与 MCP 服务交互的 REST API,便于测试并与其他应用集成。

功能

MCP 服务
  • 简单的无服务器 MCP 服务实现
  • 部署在 Netlify 上
  • 包含一个基本的“运行分析报告”工具
  • 提供一项资源,包含解读报告的文档
MCP 客户端
  • 用于与 MCP 服务交互的 FastAPI REST API
  • 交互式 API 文档(Swagger UI)
  • 便于测试和集成
  • 用于自动化测试的 Python 脚本

快速开始

本地开发
  1. 克隆此仓库
  2. 安装依赖项:
    npm install
    
  3. 启动开发服务器:
    npm run dev
    

MCP 服务将在本地通过 http://localhost:8888/mcp 提供。

测试 MCP 服务

你可以使用 MCP Inspector 或直接使用 curl 命令来测试 MCP 服务。

使用 MCP Inspector

开发服务器运行期间,你可以使用 MCP Inspector 测试 MCP 服务:

npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8888/mcp

部署后,你可以测试已部署的版本:

npx @modelcontextprotocol/inspector npx mcp-remote@next https://your-site-name.netlify.app/mcp

然后在浏览器中打开 http://localhost:6274/,与 MCP Inspector 交互。

使用 curl

你也可以直接使用 curl 命令测试 MCP 服务:

  1. 初始化 MCP 服务:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/init","params":{},"id":"1"}'
    
  2. 列出可用工具:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/listTools","params":{},"id":"2"}'
    
  3. 调用工具:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/callTool","params":{"name":"run-analysis-report","args":{"days":5}},"id":"3"}'
    
  4. 列出可用资源:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/listResources","params":{},"id":"4"}'
    
  5. 读取资源:

    curl -X POST http://localhost:8888/mcp \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"mcp/readResource","params":{"uri":"docs://interpreting-reports"},"id":"5"}'
    

部署

部署到 Netlify
  1. 将此仓库推送到 GitHub
  2. 将仓库连接到 Netlify
  3. 配置构建设置:
    • 构建命令:留空(无需构建)
    • 发布目录:public

部署后,你的 MCP 服务将在 https://your-site-name.netlify.app/mcp 上提供。

与 Claude Desktop 搭配使用

要将此 MCP 服务与 Claude Desktop 搭配使用:

  1. 前往 Claude Desktop 设置
  2. 启用 MCP Server 配置
  3. 编辑配置文件:
    {
      "mcpServers": {
        "my-mcp": {
          "command": "npx",
          "args": [
            "mcp-remote@next",
            "https://your-site-name.netlify.app/mcp"
          ]
        }
      }
    }
    
  4. 重启 Claude Desktop

使用 MCP 客户端

MCP 客户端提供用于与 MCP 服务交互的 REST API 接口。它基于 FastAPI 构建,提供简洁、现代的 API,并自动生成文档。

启动客户端
cd mcp-client
pip install -r requirements.txt
uvicorn main:app --reload

这将启动 FastAPI 服务器,地址为 http://localhost:8001。你可以通过 http://localhost:8001/docs 访问 API 文档。

管理 MCP 服务和 FastAPI 客户端

此模板包含多个用于管理 MCP 服务和 FastAPI 客户端的脚本:

cd mcp-client
./start.sh    # Start both services in the background
./stop.sh     # Stop both services gracefully
./check_status.sh  # Check if services are running and view logs
./test_client.py   # Test the FastAPI client endpoints

这些脚本可确保进程在你关闭终端后仍于后台持续运行,妥善管理日志文件,并提供清晰的状态信息。

测试客户端

你可以使用提供的测试脚本来测试客户端:

cd mcp-client
./test_client.py

这将针对 API 端点运行一系列测试并显示结果。

API 端点
  • GET /server - 获取服务器信息
  • GET /tools - 列出可用工具
  • POST /tools/call - 调用工具
  • GET /resources - 列出可用资源
  • POST /resources/read - 读取资源

更多详情请参阅 MCP 客户端 README。

扩展

扩展 MCP 服务

你可以在 netlify/functions/mcp-server.js 的 getServer 函数中添加更多工具和资源,以扩展此 MCP 服务。请参考现有示例,并查阅 模型上下文协议文档 了解更多信息。

扩展 MCP 客户端

要向 MCP 客户端添加新端点,请编辑 mcp-client 目录中的 main.py 文件。客户端基于 FastAPI 构建,因此可以轻松添加新路由和功能。

了解更多

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。