使用说明
jgrants mcp
Paid面向会员的补助金MCP聊天后端的基本存储库。
数码厅的 J发布API 的 MCP(服务器) 作为包装
聊天UI(Discord/LINE/Web)中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。
-
MCP服务器主机:Python 3.11 + FastAPI 相当的构成
-
操作:GitHub Actions 根据CI / Security / Release / Backup 假定管线
-
上层:Kamui OS / Cursor IDE 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长
1.目录配置(假定)
/jgrants_mcp_server # MCP サーバ本体(FastAPI / Uvicorn)+ MCP エンドポイント
/tests # pytest で実行するテストコード
/.github/workflows # CI・Security・Release・Backup ワークフロー
/docs # GitHub 設定・運用ノート
/scripts # GitHub 設定検証用スクリプトなど
2.所需环境变量(MCP服务器)
| 变数名 | 说明 | 既定値 |
|---|---|---|
API_BASE_URL |
J发布API 基础URL | https://api.jgrants-portal.go.jp/exp/v1/public |
JGRANTS_FILES_DIR |
MCP 将文件持久化的目录 ./jgrants_files |
CI 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
3.本地开发(最短路线)
3-1. 前提
-
Python 3.11 以上
-
uvicorn等等requirements.txt从安装
3-2.安装,安装
# 仮想環境
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 依存インストール
python3 -m pip install -r requirements.txt
3-3. MCP 启动服务器
# デフォルト: http://0.0.0.0:8000
uvicorn jgrants_mcp_server.server:app --host 0.0.0.0 --port 8000
3-4.动作确认
# ステータス
curl http://localhost:8000/health
# 設定値
curl http://localhost:8000/v1/jgrants-info
# OpenAPI UI(ブラウザ)
open http://localhost:8000/docs
MCP客户机和LLM 既然…就 http://localhost:8000 的
「MCP 作为服务器“注册使用。
4.测试
4-1.单元测试
python3 -m pip install -r requirements.txt
pytest tests/test_core.py
(将来 tests/ 在下面添加案例pytest 设想可以单独执行全部的构成)
4-2.开发最低规则(建议)
-
1 PR 一个论点MCP添加工具、修复错误等)
-
添加新端点工具时
tests/添加一个或多个 -
README 啊docs 需要反映的变更相同PR 包括在内
5.GitHub操作(CI/安全/发布/备份)
假定此存储库包含以下工作流:。
5-1.持续集成
-
触发器:
push/pull_request -
Python 3.11
-
pip使用缓存 -
pytest执行测试(失败时不可合并)
5-2.安全
-
CodeQL + Dependency Review 的
main对分支执行 -
触发器:
push/pull_request/每周计划 -
依赖性差异的脆弱性
fail-on-severity=high的PR 阻止 -
GitHub Advanced Security 即使在没有警告的情况下,也可以调整为成功
5-3.发布
-
触发器:
v*.*.*标签 -
docker/build-push-action的GHCR 发布映像 -
sigstore/cosign-installer根据keyless 签名(OIDC) -
cosign 签名具有重试逻辑(最多3次,间隔5秒)
5-4. Nightly backup(任意)
-
Supabase 等备份和审计日志UTC 18:00 取得
-
actions/upload-artifact保存30天 -
在实际操作中不需要时可以禁用
6.存储库秘密/变量
| 名前 | 用途 |
|---|---|
JGRANTS_API_BASE |
API_BASE_URL 的README 仅在想要设置为设想值以外的情况下设置 |
SUPABASE_SERVICE_ROLE |
Nightly 用于备份等场合 |
GHCR_IMAGE 默认值 ghcr.io/cursorvers/jgrants-mcp 想覆盖的情况下使用 |
签名是 cosign 的,之keyless 使用模式(OIDC)不需要追加密钥
Release 工作流包括: id-token: write 请授予权限。
7.体系结构映像(文本)
本资料库的职责是 「MCP作为服务器J发布API“ 是。
[LLM / Chat UI] --(MCP)--> [jgrants-mcp (このリポジトリ)]
│
└─ Jグランツ公開API
-
这个存储库始终作为“MCP的入口”设计。
-
在不同的存储库/分层中处理顶级的管理操作系统和编辑器。
8.开发流程示例
-
Issue / 任务(例如:
MCP-101),建立 -
创建分支:
feat/mcp-health-endpoint等等 -
写代码
-
FastAPI 端点和MCP 添加工具
-
根据需要
tests/添加测试
-
-
pytest本地测试 -
PR 创建
-
CI / Security 如果检查通过的话
main合并到 -
标签
vX.Y.Z添加-Release 在工作流程中GHCR 反映
9. GitHub 设置自动化和核对表
docs/github-settings.md 在工作空间的边缘GitHub Settings 画面操作 gh api 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
Actions 允许列表Workflow 权限分叉PR 批准Environment 批准规则Branch ProtectionSecret Scanning Push Protection 对较大场景进行渲染期间已观察到该故障。
9-1. GitHub 验证设置
scripts/check_github_settings.py 来修改标记元素的显示属性GitHub 自动验证存储库设置是否符合要求。
# GitHub トークンを環境変数に設定
export GITHUB_TOKEN=$(gh auth token)
# または
export GH_TOKEN=$(gh auth token)
# 検証スクリプトを実行
python3 scripts/check_github_settings.py --repo cursorvers/jgrants-mcp
此脚本验证以下内容:
-
Actions permissions(允许的操作列表)
-
Environments(dev, stg, prod 的存在)
-
Branch protection(main 分支保护规则)
-
秘密扫描推送保护
CI 啊Settings 通过在变更后执行该命令 您可以继续检查护栏是否保持完好。
10.参考文档
-
docs/github-settings.md:GitHub 设置详细要求定义 -
docs/ui-setup-guide.md:GitHub UI 中的设置步骤 -
docs/workflow-troubleshooting.md:工作流故障排除指南 -
docs/github-settings-status.md:当前设置和工作流执行结果 -
docs/workflow-improvements.md:工作流改善履历
