• 项目简介: 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数据库进行数据存储和缓存,提升查询性能并管理地理信息。
  • 安装步骤:

    1. 获取Census Bureau Data API Key: 访问 https://api.census.gov/data/key_signup.html 注册并获取您的API Key。
    2. 安装Docker: 确保您的系统已安装 Docker (例如 Docker Desktop)。
    3. 安装Node.js: 确保您的系统已安装 Node.js 18 或更高版本。
    4. 克隆仓库: 将项目克隆或下载到您的本地。
    5. 初始化数据库: 打开终端,导航到项目根目录,运行命令 '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。
  • 基本使用方法:

    1. 配置AI助手: 按照上述“服务器配置”示例,在您的MCP客户端中添加相应的配置。
    2. 启动AI助手: 启动您的AI助手,它将自动连接并初始化MCP服务器。
    3. 查询数据: 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与计算