mcpField
M
MCP Census Server

MCP Census Server

本地服务
github.com/cclarke411法律与政务080 周前更新

关于 MCP Census Server

一个通过 HTTP 上的 JSON-RPC 访问美国人口普查局数据的 MCP 服务,面向需要检索 Census 数据的应用和客户端。它提供请求缓存、API 密钥认证及配套 Next.js 客户端。

主要功能

  1. 01通过 census/get 检索 Census 数据
  2. 02支持 JSON-RPC 单条及批量请求
  3. 03缓存 API 响应,TTL 为 5 分钟
  4. 04请求与响应使用 Pydantic 验证
  5. 05API 密钥认证、健康检查和交互式文档
  6. 06提供 Next.js 客户端

适用场景

  1. 01通过 MCP 工具查询 Census Bureau 数据
  2. 02将 Census 数据接入 Next.js 客户端
  3. 03用 API 密钥保护服务请求

MCP 相关

服务实现 MCP 初始化、工具列表和工具调用方法,并通过 HTTP 上的 JSON-RPC 向客户端提供 census/get 工具。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

MCP Census Server

一个功能强大的模型上下文协议(MCP)服务,通过 HTTP 上的 JSON-RPC 访问美国人口普查局数据。

功能

  • JSON-RPC 2.0(单个和批量请求)
  • 使用 Pydantic 模型验证请求和响应
  • 缓存 Census API 响应(TTL 为 5 分钟)
  • 结构化日志记录(通过 Python logging)
  • 通过 X-API-Key 标头进行 API 密钥身份验证
  • 健康检查端点(/health)
  • 交互式 API 文档(可在 /docs 使用 Swagger UI)
  • MCP 方法:
    • initialize:协商协议版本和功能
    • notifications/initialized:客户端就绪通知
    • tools/list:列出可用工具(census/get)
    • tools/call:调用 census/get 获取美国人口普查局数据

快速开始

  1. 克隆仓库并进入目录:
    git clone https://github.com/kaman1/mcp_census_server.git
    cd mcp_census_server
    
  2. 复制环境模板并设置密钥:
    cp .env.example .env
    # Edit .env:
    # CENSUS_API_KEY=<your_census_api_key>
    # SERVER_API_KEY=<your_mcp_server_secret_key>
    
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 启动服务:
    uvicorn app:app --host 0.0.0.0 --port 8000 --reload
    
  5. 使用标头 X-API-Key: <SERVER_API_KEY> 向 http://localhost:8000/ 发送 JSON-RPC 请求。

tools/list 调用示例:

curl -X POST http://localhost:8000/ \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $SERVER_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

开发

  • 测试:pytest
  • 格式化:black .
  • 导入排序:isort .
  • Lint 检查:flake8 .
  • CI 流水线配置位于 .github/workflows/ci.yml

文档

  • 架构:docs/architecture.md
  • 使用示例:docs/usage.md
  • 身份验证:docs/authentication.md
  • 样式化文档(MDX + Mintlify):
    npm install
    npm run serve:docs
    

托管文档

你可以通过 GitHub Pages 发布这些文档:

  1. 在 GitHub 仓库中,前往 Settings > Pages。
  2. 在 Source 下,选择 main 分支和 /docs 文件夹。
  3. 点击 Save。

文档将在以下地址提供:

https://<username>.github.io/mcp_census_server/

你可以将此 URL 添加到仓库的 About 部分,作为项目网站。

客户端应用

client/ 目录包含一个基于 Next.js 的 MCP 客户端,可与此服务交互。

  1. 切换到客户端文件夹:
    cd client
    
  2. 复制示例环境文件,并填写密钥和服务 URL:
    cp .env.example .env.local
    # Set OPENAI_API_KEY, MCP_SERVER_URL (e.g. https://your-server), SERVER_API_KEY
    
  3. 安装依赖项并启动开发服务:
    npm install
    npm run dev
    
  4. 打开 http://localhost:3000 使用客户端 UI。

快速启动脚本

你可以通过一个步骤配置环境并启动服务和客户端:

chmod +x start.sh
./start.sh

这将提示你输入所有必需的密钥,并同时运行 MCP 服务和客户端。

评论

支持 Markdown

第一次接触 MCP?

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

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