Skip to main content
Glama
rei-meta-mcp

rei-meta-mcp

by fc0web

rei-meta-mcp

A meta-layer standing on top of the connector group. It treats individual MCP connectors as objects and access paths to those objects as morphisms, and handles their structure.

The only practical purpose of Phase 1 is coherence check — mechanically cross-checking whether the contents match across multiple sources pointing to the same object.

Why it was made

On 2026-08-19, during the implementation of rei-memory-mcp, it was discovered that SEED_KERNEL had drifted by 1,677 vs 1,675 for 11 days without being noticed. It was noticed only because a human happened to compare both numbers by chance; there was no mechanical means of detection.

The first job of this connector is to let the machine find this first. See docs/incident-2026-08-19.md for details.

Related MCP server: MCP Discovery Server

Provided tools (3)

meta_list_sources(object_name?: str)

Enumerates registered sources and returns each one's reachability status, count, and git HEAD hash (a clue to freshness).

meta_check_coherence(object_name: str, detail: bool = False)

Cross-checks the fingerprints of sources pointing to the same object and returns one of the following verdicts:

verdict

meaning

coherent

Fingerprints of all reachable sources match

divergent

Mismatch among reachable sources

unreachable

Zero reachable sources

single_source

Only one reachable source (not comparable)

§4 Core rule: "unreachable" is not "matched". unreachable and single_source are always surfaced as warnings.

With detail=True, returns the actual list of mismatched IDs (up to 100 items).

meta_compose(from_source: str, to_source: str)

Phase 1 only does string matching of output_schema / input_schema in the registry. Actual schema inference is Phase 3 and later.

What Phase 1 does not do

  • Automatic repair (intentionally excluded. Judgment of which is correct is left to humans)

  • Persistence of inspection history (Phase 2)

  • Schema inference (Phase 3)

  • Categorical constructions such as functors, adjunctions, monads, etc. (when the need arises)

Currently registered sources

See config/sources.example.yaml:

source

kind

status

rei-memory-local

sqlite

full fingerprint (~/rei-memory-mcp/data/seed_kernel.db)

rei-aios-local-mcp

mcp_stdio

partial fingerprint (launches node dist/mcp/start-mcp.js as a subprocess and calls get_kernel_status)

rei-aios-remote

unreachable_placeholder

Deployment via claude.ai remote-devices cannot be probed directly from Python — always explicitly reports unreachable

Install & usage

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 起動

The registry path can be overridden with the environment variable REI_META_MCP_REGISTRY.

Honest scope

  1. Detection only, no repair — does not take judgment outside of humans

  2. Matching among partial fingerprint sources (mcp_stdio) is confirmation that "there is no mismatch", not proof of "exact match" (there are parts not visible at the content_hash level)

  3. Only 5 category theory terms carry weight (object, morphism, equalizer, composition, identity morphism). Others are avoided

  4. Currently a Phase 1 spike with 3 sources. A structure whose value increases as the number of objects grows

  5. Phase 2 (history, scheduled execution, notifications) and Phase 3 (schema inference, generalization of morphisms) will be decided after Phase 1 works in real operation

License

AGPL-3.0-or-later.

  • docs/incident-2026-08-19.md — record of the incident

  • tests/test_incident_2026_08_19.py — test that reproduces the incident

Available Tools

3 tools
meta_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.

Inputs: object_name (required), detail. Returns: object

meta_composeA

Check whether the output of from_source can feed to_source.

Phase 1: declarative schema string match only.

Inputs: to_source (required), from_source (required). Returns: object

meta_list_sourcesA

List registered sources with current reachability and freshness.

Inputs: object_name. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 3 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers