-
项目简介: U.S. Census Bureau Data API MCP 服务器是一个强大的后端应用,它利用 Model Context Protocol (MCP) 将美国人口普查局的官方数据(包括 Census Data API 和其他官方来源)无缝集成到各种AI助手中。通过提供标准化的上下文信息、可调用的工具和可定制的Prompt模板,该服务器极大地增强了AI助手处理和利用人口普查数据的能力,使其能够提供更准确、更丰富的统计回复。
-
主要功能点:
- 人口普查数据访问: 允许AI助手通过标准化接口访问美国人口普查局的多种数据集和统计信息。
- 地理信息解析: 提供工具来解析地理名称并获取相应的FIPS代码,以便进行精确的数据查询。
- 上下文管理: 以结构化方式向LLM客户端提供上下文数据,支持复杂的查询和数据聚合。
- 工具调用: 注册并执行多项“工具”,使AI助手能够调用外部功能来获取数据集元数据、地理级别、聚合数据等。
- Prompt模板: 定义和渲染“Prompt模板”,支持可定制的LLM交互模式,例如直接获取指定地理区域的人口统计数据。
- 数据持久化与缓存: 使用PostgreSQL数据库进行数据存储和缓存,提升查询性能并管理地理信息。
-
安装步骤:
- 获取Census Bureau Data API Key: 访问 https://api.census.gov/data/key_signup.html 注册并获取您的API Key。
- 安装Docker: 确保您的系统已安装 Docker (例如 Docker Desktop)。
- 安装Node.js: 确保您的系统已安装 Node.js 18 或更高版本。
- 克隆仓库: 将项目克隆或下载到您的本地。
- 初始化数据库: 打开终端,导航到项目根目录,运行命令 'docker compose --profile prod run --rm census-mcp-db-init sh -c "npm run migrate:up && npm run seed"'。此步骤将从 Census Data API 拉取数据并初始化本地PostgreSQL数据库,仅首次设置需要。
-
服务器配置 (供MCP客户端使用): MCP客户端需要配置服务器启动命令及其参数来连接MCP服务器。以下是一个JSON格式的配置示例,您需要根据实际情况修改路径和API Key:
{ "mcpServers": { "mcp-census-api": { "command": "bash", "args": [ "/Path/To/Server/us-census-bureau-data-api-mcp/scripts/mcp-connect.sh" ], "env": { "CENSUS_API_KEY": "YOUR_CENSUS_API_KEY" } } } }- 'mcp-census-api': 您为此MCP服务器定义的名称。
- 'command': 启动服务器的命令,通常是'bash'或'node'。
- 'args': 传递给命令的参数列表。'"/Path/To/Server/us-census-bureau-data-api-mcp/scripts/mcp-connect.sh"' 应替换为您的项目根目录中 'scripts/mcp-connect.sh' 脚本的完整路径。
- 'env': 环境变量,'CENSUS_API_KEY' 必须设置为您在第一步中获取的有效 Census Bureau Data API Key。
-
基本使用方法:
- 配置AI助手: 按照上述“服务器配置”示例,在您的MCP客户端中添加相应的配置。
- 启动AI助手: 启动您的AI助手,它将自动连接并初始化MCP服务器。
- 查询数据: AI助手现在可以通过调用MCP服务器提供的工具和Prompt来查询美国人口普查数据。例如,您可以让AI助手:
- 列出所有可用的数据集 ('tools/list')。
- 获取某个数据集的地理级别信息 ('fetch-dataset-geography' 工具)。
- 查询特定地理区域的聚合人口数据 ('fetch-aggregate-data' 工具)。
- 使用Prompt模板获取人口数据,例如询问“旧金山的人口是多少?” ('get_population_data' Prompt)。
-
更新服务器: 当项目发布新版本时,导航到 'mcp-db/' 目录并运行以下命令重建生产环境:
npm run prod:down npm run prod:build然后重新启动您的MCP客户端以连接到更新后的服务器。
信息
分类
AI与计算