MCP server for AI-first development design document templates
Project description
🔌 byebye-docs MCP Server
Claude CodeやClaude Desktopと連携するMCPサーバー。
コードとドキュメントの同期?AIにやらせろ。
🚀 インストール
pip install byebye-docs-mcp
# または
uv tool install byebye-docs-mcp
以上。終わり。
⚡ クイックスタート
既存プロジェクトに導入
curl -sL https://raw.githubusercontent.com/pon-tanuki/byebye-docs/main/scripts/init-project.sh | bash -s /path/to/your-project
これで .agent/ と CLAUDE.md と .mcp.json が全部セットアップされる。
手動でやりたい人
# 1. インストール(上でやった)
# 2. テンプレートをコピー
git clone --depth 1 https://github.com/pon-tanuki/byebye-docs.git /tmp/byebye-docs
cp -r /tmp/byebye-docs/.agent /path/to/your-project/
cp /tmp/byebye-docs/CLAUDE.md /path/to/your-project/
# 3. .mcp.json を作成(下記参照)
🔧 Claude Codeでの設定
プロジェクトルートに .mcp.json を置く:
{
"mcpServers": {
"byebye-docs": {
"command": "byebye-docs",
"env": {
"BYEBYE_DOCS_PROJECT_PATH": "."
}
}
}
}
🛠️ できること
コード↔ドキュメント同期(目玉機能)
| ツール | 何するの? |
|---|---|
diff_code_docs |
コードとドキュメントの差分を検出。「あれ、このAPIドキュメントに書いてなくね?」を見つける |
extract_from_code |
コードからAPI/エンティティ情報を抽出してYAML出力。手で書くとかダルいじゃん |
auto_sync |
コード変更をドキュメントに自動反映。preview で確認、apply で適用 |
ドキュメント管理
| ツール | 何するの? |
|---|---|
list_templates |
利用可能なテンプレート一覧 |
create_document |
テンプレートから新規ドキュメント作成 |
get_section |
ドキュメントの特定セクションを取得 |
update_section |
ドキュメントの特定セクションを更新 |
validate_document |
ドキュメントの構造チェック |
fill_metadata |
メタデータ自動入力 |
リソース
| URI | 何が取れる? |
|---|---|
template://structure |
テンプレート構造 |
template://schema |
検証スキーマ |
project://current |
現在のプロジェクト情報 |
docs://list |
既存ドキュメント一覧 |
プロンプト
| 名前 | 何するの? |
|---|---|
design-review |
設計レビューワークフロー |
update-architecture |
アーキテクチャ図更新ガイド |
💡 使用例
コードとドキュメントの差分をチェック
diff_code_docs(
code_path="src/",
doc_type="all", # "api", "entities", "all"
language="auto"
)
「お前のドキュメント、コードと合ってないぞ」って教えてくれる。
コードから情報を抽出
extract_from_code(
code_path="src/",
extract_type="all",
output_format="yaml",
merge_with_existing=True # 既存ドキュメントとマージ
)
FastAPI のルートとか Pydantic のモデルとか、Express のルートとか TypeORM のエンティティとか、勝手に拾ってYAMLにしてくれる。
ドキュメントを自動同期
# まずプレビュー(何が変わるか確認)
auto_sync(mode="preview", code_path="src/")
# 問題なさそうなら適用
auto_sync(mode="apply", code_path="src/", target_docs=["api.yaml", "entities.yaml"])
バックアップも勝手に取ってくれる。安心。
テンプレートからドキュメント作成
create_document(
template_type="context.yaml",
output_path=".agent/context.yaml",
metadata={
"project_name": "My Awesome Project",
"author": "Claude Agent"
}
)
🔄 更新方法
pip install --upgrade byebye-docs-mcp
# または
uv tool install byebye-docs-mcp --force
🌍 環境変数
| 変数名 | 説明 | デフォルト |
|---|---|---|
BYEBYE_DOCS_PROJECT_PATH |
対象プロジェクトのパス | カレントディレクトリ |
🧑💻 開発者向け
ソースからビルド
git clone https://github.com/pon-tanuki/byebye-docs.git
cd byebye-docs/mcp-server
uv sync
テスト
uv run pytest
Lint
uv run ruff check .
uv run ruff format .
🐍 対応言語(コード解析)
Python
- FastAPI / Flask のルート検出
- SQLAlchemy / Pydantic / dataclass のエンティティ検出
TypeScript / JavaScript
- Express.js / NestJS のルート検出
- TypeORM のエンティティ検出
- Prisma モデル(
.prismaファイル) - TypeScript interface / type alias
他の言語?PRウェルカム。
📄 ライセンス
MIT — 好きに使って。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file byebye_docs_mcp-0.2.1.tar.gz.
File metadata
- Download URL: byebye_docs_mcp-0.2.1.tar.gz
- Upload date:
- Size: 88.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4aaad8c8f762228575ad4715be7a8835c30d0ae9e0c19d0f5e10606dd14e92d
|
|
| MD5 |
ea13e770f249f2677d36390c1d5f8263
|
|
| BLAKE2b-256 |
007a55b94e188ae683abf1bc2327c4c52096bc1157959db3fbf754ef6bc1f01f
|
Provenance
The following attestation bundles were made for byebye_docs_mcp-0.2.1.tar.gz:
Publisher:
publish-pypi.yml on pon-tanuki/byebye-docs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
byebye_docs_mcp-0.2.1.tar.gz -
Subject digest:
d4aaad8c8f762228575ad4715be7a8835c30d0ae9e0c19d0f5e10606dd14e92d - Sigstore transparency entry: 749210565
- Sigstore integration time:
-
Permalink:
pon-tanuki/byebye-docs@1ba9a0d6a189f296562209863f4c8ba26d2b95ef -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/pon-tanuki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@1ba9a0d6a189f296562209863f4c8ba26d2b95ef -
Trigger Event:
push
-
Statement type:
File details
Details for the file byebye_docs_mcp-0.2.1-py3-none-any.whl.
File metadata
- Download URL: byebye_docs_mcp-0.2.1-py3-none-any.whl
- Upload date:
- Size: 37.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f984ca104f9ad7c275c2fc0364574282578fb28c2446636bc9e7743bf485278
|
|
| MD5 |
35d50a67581c5b01f7b6c4574e088e96
|
|
| BLAKE2b-256 |
bd3950c81b7e4e4e4c9ed72cfa9fe5c3205653b790f998ac746cbf31730ba3ad
|
Provenance
The following attestation bundles were made for byebye_docs_mcp-0.2.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on pon-tanuki/byebye-docs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
byebye_docs_mcp-0.2.1-py3-none-any.whl -
Subject digest:
9f984ca104f9ad7c275c2fc0364574282578fb28c2446636bc9e7743bf485278 - Sigstore transparency entry: 749210566
- Sigstore integration time:
-
Permalink:
pon-tanuki/byebye-docs@1ba9a0d6a189f296562209863f4c8ba26d2b95ef -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/pon-tanuki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@1ba9a0d6a189f296562209863f4c8ba26d2b95ef -
Trigger Event:
push
-
Statement type: