datuma_k について
datuma_k MCPは、アプリのリポジトリでインストール済みのdatuma_kバイナリを使うエージェント向けのstdio MCPサーバーです。契約やテンプレートの検索、検証、生成プレビュー、生成に加え、言語リソースとプロンプトを提供します。
主な機能
- 01プロジェクトの契約・テンプレートパス一覧
- 02データ契約の検索
- 03契約とキーワードの検証
- 04生成計画のプレビュー
- 05コード断片の生成
- 06パターン推定とルールの助言
活用シーン
- 01プロジェクト内の契約とテンプレートの確認
- 02モデルやフィールドによる契約検索
- 03書き込み前の生成結果の確認
- 04モデルやフィールド追加時のガイド
MCP 対応
stdio経由でMCPクライアントにツール、リソース、プロンプトを提供し、一部の処理ではインストール済みのdatuma_kバイナリを呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| root | string | いいえ | プロジェクトディレクトリ(デフォルトは MCP プロセスの作業ディレクトリ) |
詳細
datuma_k MCP
アプリのリポジトリにインストールされている datuma_k バイナリを使用するエージェント向けの stdio MCP サーバーです。コンパイラーのクレートにはリンクしません。PATH にバイナリがない場合は、DATUMA_K にそのパスを設定してください。
インストール
npm では @marthvon/datuma-k-mcp として、MCP Registry では io.github.marthvon/datuma-k として公開されています。
Cursor / Claude の例(mcp.json):
{
"mcpServers": {
"datuma_k": {
"command": "npx",
"args": ["-y", "@marthvon/datuma-k-mcp"]
}
}
}
datuma_k が PATH に含まれている必要があります。含まれていない場合は、DATUMA_K でバイナリの場所を指定してください。
{
"mcpServers": {
"datuma_k": {
"command": "npx",
"args": ["-y", "@marthvon/datuma-k-mcp"],
"env": {
"DATUMA_K": "/ABS/PATH/TO/datuma_k/target/release/datuma_k"
}
}
}
}
ソースから
cd mcp
npm install
npm run build
次に、"command": "node" と "args": ["/ABS/PATH/TO/datuma_k/mcp/dist/index.js"] を指定します。
プロセスの cwd は datuma_k のプロジェクト(.env があるディレクトリ)にするか、各ツール呼び出しで root を渡してください。
ツール
| ツール | バイナリ | 備考 |
|---|---|---|
list_project | (ファイル + .env) | ディレクトリとコントラクト/テンプレートのパス |
query_contracts | datuma_k catalog | trait / model / field / attribute / type は任意 |
validate | datuma_k check | パースには data/keywords.md が必要です |
preview | datuma_k preview | 書き込みを行わずに計画を表示 |
generate | datuma_k run | 生成された範囲を書き込みます |
advise_ngin | (ローカルルール) | ngin と手書きコードの使い分けを案内します |
infer_patterns | catalog + keywords.md | trait、ウィジェット、関連付けのレビュー用メモ、同期リスク、別名 |
リソース
datuma://language/dtctdatuma://language/ngindatuma://language/standardsdatuma://docs/keywordsdatuma://docs/practicesdatuma://docs/when-ngin
プロンプト
add-model、add-field、scaffold-ngin、should-use-ngin、infer-contract-patterns
テスト
npm test
公開
公開先は2つのレジストリです。順番を守ってください。npm は tarball をホストし、MCP Registry はメタデータのみをホストして、公開済みの npm パッケージと照合して検証します。そのため、npm を先に公開しないと、2つ目の公開で Registry validation failed for package が発生します。
| 名前 | 公開先 | 設定場所 |
|---|---|---|
@marthvon/datuma-k-mcp | npm パッケージ | package.json の name |
io.github.marthvon/datuma-k | MCP Registry サーバー | package.json の mcpName および server.json の name — この2つが一致しないと、レジストリは公開を拒否します |
io.github.marthvon/ というプレフィックスは単なる飾りではありません。GitHub のデバイスフロー認証で許可されるのはこの名前空間のみです。別のプレフィックスを使うには、DNS または HTTP 認証が必要です。
初回のみの設定
brew install mcp-publisher # or a binary from the registry releases page
npm login # npm account, scope @marthvon
npm での公開には2要素認証が必要です。アカウントで有効になっていない場合、tarball の確認前に npm publish が 403 ... Two-factor authentication or granular access token with bypass 2fa enabled is required というエラーで失敗します。npm profile get で確認し、npm profile enable-2fa auth-and-writes または npmjs.com で有効にして、リカバリーコードを保管してください。
リリース
バージョンを3か所で更新してください。レジストリは既に登録済みのバージョンを拒否します。また、npm パッケージのバージョンと server.json の packages[0].version が一致しない場合、検証に失敗します。
package.json→versionserver.json→versionserver.json→packages[0].version
続いて、次を実行します。
npm test # tsc + node --test
mcp-publisher validate # checks server.json against the live registry, publishes nothing
npm publish --otp=123456 # prepublishOnly runs the build; drop --otp to be prompted
mcp-publisher login github # device code → github.com/login/device
mcp-publisher publish
mcp-publisher login はトークンを保存するため、通常のリリースでは npm publish の後に mcp-publisher publish を実行します。
確認:
npm view @marthvon/datuma-k-mcp version
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.marthvon/datuma-k"
公開されるファイル
package.json の files により、tarball に含まれるのは dist、resources、README.md に限定されます。resources/ は実行時に必須です。server.ts は dist/../resources として解決するため、files から省くと、インストールは正常に完了しても、リソースを読み込むたびに失敗します。公開前に npm pack --dry-run で確認してください。
トラブルシューティング
| エラー | 原因 |
|---|---|
403 ... Two-factor authentication ... is required | npm アカウントで 2 要素認証が無効になっています。上記を参照してください。 |
403 ... you do not have access | @marthvon スコープは組織に属しています。npm org ls marthvon でメンバーシップを確認してください。 |
Registry validation failed for package | npm への公開がまだ行われていないか、package.json の mcpName が server.json の name と一致していません。 |
Invalid or expired Registry JWT token | mcp-publisher login github を再実行してください。 |
You do not have permission to publish this server | サーバー名が io.github.<your-github-username>/ で始まっていません。 |
expected length <= 100 on body.description | server.json の description は 100 文字までです。npm の description に制限はありません。 |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。