历史遗迹数据服务

提供日本历史遗迹数据的Model Context Protocol (MCP)服务器,支持本地Python开发和云端Cloudflare Workers部署。

  • by YutaOzawaTU
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 YutaOzawaTU/CreateGBM_MCP

使用说明

日本史3D地图MCP服务器

提供日本历史古迹数据Model Context Protocol (MCP)服务器。

本地开发Python版本和云生产Cloudflare Workers提供版本。

机能

  • 获取城市列表
  • 都市内の史跡一覧取得
  • 关键字搜索
  • 获取史迹详细信息

项目配置

japanese_history_mcp/
├── local/                    # ローカル開発・テスト用
│   ├── server.py            # Python MCP (FastMCP) - ローカルDB版
│   ├── cloud_bridge.py      # Python MCP - CloudflareAPI版(Node.js不要)
│   └── japanese_history.db  # SQLite データベース
├── cloud/                    # クラウド本番用
│   ├── src/index.ts         # Cloudflare Workers MCP
│   ├── wrangler.toml        # Cloudflare設定
│   └── package.json
├── data/
│   ├── sites.json           # マスターデータ
│   └── migrate.py           # データ移行スクリプト
├── requirements.txt         # Python依存関係
└── README.md

安装,安装

1.数据准备

主数据(data/sites.json)生成各环境的数据库:

# Python環境のセットアップ(初回のみ)
python -m venv .venv
.venv\Scripts\activate  # Windows
# source .venv/bin/activate  # macOS/Linux

pip install -r requirements.txt

# データ移行実行
python data/migrate.py

这将生成以下内容:

  • local/japanese_history.db (SQLite)
  • cloud/init_d1.sql (D1用SQL)

本地开发(Python版)

起动方法

cd local
python server.py

Claude Desktop中的设置

claude_desktop_config.json 添加到:

{
  "mcpServers": {
    "japanese_history": {
      "command": "python",
      "args": ["C:\\Users\\YOUR_USERNAME\\Desktop\\japanese_history_mcp\\local\\server.py"],
      "env": {}
    }
  }
}

注意:请使用绝对路径指定路径。


云API使用(两种方法)

方法1:Python API桥接(推荐・Node.js不需要

特徴:

  • ✅ Node.js不需要(仅限Python)
  • ✅ 国土交通省MCP与服务器相同的体系结构
  • ✅ 设置简单
  • ✅ Cloudflare Workers API直接调用

设置:

  1. 安装所需的相关性

    pip install httpx
    
  2. Claude Desktop配置

    {
      "mcpServers": {
        "japanese_history_api": {
          "command": "python",
          "args": ["C:\\Users\\YOUR_USERNAME\\Desktop\\japanese_history_mcp\\local\\cloud_bridge.py"]
        }
      }
    }
    

优点:

  • Python仅在环境中完成
  • 与本地版相同的设定形式
  • 外部API可用作

方法2:Node.js桥接(传统方法)

特徴:

  • Node.js通过桥梁Workers API连接
  • MCP JSON-RPC协议HTTP转换为

前提条件:

  • Node.js 18以降

设置:

  1. 创建桥文件(workers_bridge/index.js)

  2. Claude Desktop配置

    {
      "mcpServers": {
        "japanese_history_cloud": {
          "command": "node",
          "args": [
            "C:\\path\\to\\workers_bridge\\index.js"
          ]
        }
      }
    }
    

云生产部署

前提条件

  • Node.js 18以降
  • Cloudflare账户
  • 牧马人CLI

部署过程

1. D1创建数据库

cd cloud
npx wrangler d1 create japanese-history-db

已输出database_id的wrangler.toml设置为:

[[d1_databases]]
binding = "DB"
database_name = "japanese-history-db"
database_id = "YOUR_DATABASE_ID_HERE"

2.数据库初始化

npx wrangler d1 execute japanese-history-db --remote --file=init_d1.sql

3.部署

npm install
npm run deploy

部署后Workers URL显示:

https://japanese-history-mcp.YOUR_SUBDOMAIN.workers.dev

这URL在上述的“方法1”或“方法2”中使用。


开发工作流

数据更新时

  1. data/sites.json编辑
  2. 运行迁移脚本:
    python data/migrate.py
    
  3. 本地测试:
    cd local
    python server.py
    
  4. 部署到云:
    cd cloud
    npx wrangler d1 execute japanese-history-db --file=init_d1.sql
    npm run deploy
    

可用工具

list_cities

获取已注册城市列表

参数:无

list_sites_in_city

取得指定城市的史迹一览表

参数:

  • city_code (string): 城市代码(例如“fukuoka”)

search_sites

用关键词搜索史迹

参数:

  • keyword (string): 搜索关键字

get_site_detail

获取史迹的详细信息

参数:

  • site_id (string): 史迹ID

故障排除

本地版不动

  • Python 3.8确认以后是否安装
  • 确认虚拟环境是否已启用
  • pip install -r requirements.txt执行

云版无法移动

  • wrangler.toml的,之database_id确认是否正确
  • D1确认数据库是否已初始化
  • 在部署日志中检查错误

许可证

MIT许可证

貢献

欢迎拉要求!

  1. 分叉此存储库
  2. 创建特征分支
  3. 提交更改
  4. 推送以创建拉式请求