rei-meta-mcp
rei-meta-mcp
コネクタ群の上に立つメタ層。個々の MCP コネクタを 対象、対象へのアクセス経路を 射 とみなし、その構造を扱う。
Phase 1 の唯一の実用目的は 整合性検査 (coherence check) — 同じ対象を指す複数のソース間で内容が一致しているかを機械的に突き合わせる。
なぜ作ったか
2026-08-19、rei-memory-mcp の実装過程で SEED_KERNEL が 1,677 vs 1,675 で 11 日間ずれたまま気づかれていなかったことが判明した。気づけたのは人間が両方の数字を偶然見比べたからで、機械には検出手段が無かった。
このコネクタの最初の仕事は、これを機械が先に見つけることである。詳細は docs/incident-2026-08-19.md。
Related MCP server: Code-Oracle
提供する tool (3 本)
meta_list_sources(object_name?: str)
登録済みの source を列挙し、各々の到達状態・件数・git HEAD ハッシュ (freshness の手がかり) を返す。
meta_check_coherence(object_name: str, detail: bool = False)
同一対象を指す source の指紋を突き合わせ、以下のいずれかの verdict を返す:
verdict | 意味 |
| 到達できた全 source の指紋一致 |
| 到達できた source 間で不一致 |
| 到達できた source がゼロ |
| 到達できた source が 1 つのみ (比較不能) |
§4 中核ルール: 「到達できなかった」は「一致した」ではない。unreachable と single_source は常に警告として surface される。
detail=True で不一致 ID の実リスト (最大 100 件) を返す。
meta_compose(from_source: str, to_source: str)
Phase 1 は registry 内の output_schema / input_schema 文字列突合のみ。実スキーマ推論は Phase 3 以降。
Phase 1 でやらないこと
自動修復 (意図的な除外。どちらが正しいかの判断は人間が行う)
検査履歴の永続化 (Phase 2)
スキーマ推論 (Phase 3)
関手・随伴・モナド等の圏論構成 (必要になったときに)
現時点の registered source
config/sources.example.yaml を参照:
source | kind | 状態 |
|
| full fingerprint ( |
|
| partial fingerprint ( |
|
| claude.ai remote-devices 経由の deploy は Python から直接 probe 不可 — 常に |
Install & 使用
uv pip install -e ".[dev]"
cp config/sources.example.yaml config/sources.yaml # パスを埋める
uv run pytest # 全 PASS を確認
uv run rei-meta-mcp # stdio で MCP server 起動registry のパスは環境変数 REI_META_MCP_REGISTRY で上書き可能。
Honest scope
検出のみ、修復は行わない — 判断を人間の外に出さない
partial fingerprint の source (mcp_stdio) 間の一致は「不一致がない」ことの確認であって「完全一致」の証明ではない (
content_hashレベルで見られない部分がある)圏論用語は 5 つだけ (対象・射・等化子・合成・恒等射) 荷重を負う。他は避ける
現状 3 source の Phase 1 spike。対象が増えるほど価値が増す構造
Phase 進行は
docs/ROADMAP.mdを参照。Phase 1 spike + Phase 2A (contract check) が現状。Phase 2 / Phase 3 は Phase 1 + Phase 2A の実運用結果で判断。
License
AGPL-3.0-or-later.
関連
docs/incident-2026-08-19.md— 事故の記録tests/test_incident_2026_08_19.py— 事故を再現するテスト
Available Tools
3 toolsmeta_check_coherenceB
Check whether all sources for object_name agree.
Verdicts: coherent | divergent | unreachable | single_source. §4: unreachable/single_source are warnings, not silent success.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | ||
| object_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It goes beyond a simple 'check' by specifying the possible verdicts and the important warning semantics for `unreachable` and `single_source`, which is non-obvious. It does not discuss side effects, but as a read-only check that is reasonably implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loads the main purpose, and uses a compact verdict list plus a warning note. The only minor issue is the cryptic '§4' reference, which is terse but may require external context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core purpose and output verdicts are covered, and the presence of an output schema reduces the need to describe return structure. However, key gaps remain: the `detail` parameter is unexplained, and there is no guidance on choosing this tool over its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that `object_name` is the object whose sources are checked, but it says nothing about the `detail` boolean parameter. Since schema description coverage is 0%, the description needed to compensate but only explains one of the two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check whether all sources agree') on a specific resource (`object_name`), and enumerates the possible verdicts. It does not explicitly differentiate from sibling tools, but the verb and resource make the purpose clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by 'Check whether all sources agree' — the agent can infer it is for consistency checking across sources. However, there is no explicit mention of when to prefer this tool over `meta_list_sources` or `meta_compose`, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_composeA
Check whether the output of from_source can feed to_source.
Phase 1: declarative schema string match only.
| Name | Required | Description | Default |
|---|---|---|---|
| to_source | Yes | ||
| from_source | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It clearly discloses that this is only a phase-1 declarative schema string match, which meaningfully sets expectations about the tool's limitations. This is useful context beyond what the schema alone provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the first sentence states the core purpose, and the second adds a critical limitation. Every sentence earns its place with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two string parameters and an output schema, so return-value details are not needed. The description covers the core behavior and limitation, though it leaves some contextual ambiguity about how sources are identified and when this check is appropriate relative to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It gives relational meaning to both parameters: 'from_source' produces output and 'to_source' receives it. However, it does not describe the expected format or examples, leaving part of the semantics implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check whether the output... can feed...') and identifies the two resources involved. It is clear about the compositional relationship, though it does not explicitly differentiate itself from the sibling tool meta_check_coherence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance explains when to use this tool versus meta_list_sources or meta_check_coherence. The phrase 'Phase 1: declarative schema string match only' implies a preliminary check, but it never states conditions, exclusions, or recommended alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_list_sourcesA
List registered sources with current reachability and freshness.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It conveys that the tool reports current reachability and freshness, and 'List' implies a read-only operation. However, it does not explain behavior around the optional object_name parameter, potential network/performance implications, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the primary action and object. Every word contributes useful information, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with one optional parameter and an output schema, the description provides the essential purpose and result characteristics. However, it omits parameter semantics and usage boundaries, leaving some gaps an agent would need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the only parameter, and the description does not mention object_name at all. The schema gives only a type, title, and default, which is insufficient for an agent to understand how filtering by object_name works or whether it is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'List registered sources', and adds distinguishing detail with 'current reachability and freshness'. This clearly identifies the tool's purpose and sets it apart from siblings like meta_check_coherence and meta_compose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when you need an inventory of registered sources with their current status. It does not explicitly state when not to use it or point to alternatives, but sibling names are distinct enough that there is no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0-alpha- First observed
meta_check_coherence - First observed
meta_compose - First observed
meta_list_sources
TDQS
Scored across 3 tools
Each tool has a distinct responsibility: listing registered sources, checking source agreement for an object, and validating source-to-source composability. There is minimal overlap, and the differing parameters make selection unambiguous.
All tools use the `meta_` prefix with an imperative snake_case verb (`list`, `check`, `compose`), giving a predictable convention. The slight variation in whether an object follows the verb does not hurt recognizability.
Three tools is a compact but appropriate scope for a focused metadata validation server. Each tool provides a distinct high-level capability with no redundancy.
The set covers the core discovery and validation workflows: enumerate sources, check coherence, and test composition. It is missing broader source/object management and only performs schema-string composition matching, so there are minor gaps but no dead ends for the main use case.
Maintenance
Related MCP Connectors
- GentkeyOAuthcom.gentkey
One MCP URL for all your connectors — scoped writes, enforced constraints, and a full audit trail.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
The MCP server that vets MCP servers: identity, risk grade and per-tool risk before you install.
Related MCP Servers
- AlicenseBqualityAmaintenanceA meta-MCP server that manages and aggregates other MCP servers, enabling LLMs to dynamically extend their own capabilities by searching for, adding, and configuring tool servers.16148 PyPI144AGPL 3.0
- FlicenseNot gradedqualityDmaintenanceMCP server for automated architectural mapping, security vulnerability detection, ML asset tracking, and code metrics in local repositories.-
- FlicenseNot gradedqualityDmaintenanceA meta-MCP server that discovers and explores other MCP servers using progressive disclosure patterns to reduce token usage by up to 99%.-
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that provides a graph database for tracking software codebase components, their relationships, and associated tasks/goals.1MIT