Skip to content
Agentmart
Submit a tool

Semahash

Content-addressed semantics: fail-closed handshakes over 617 cognitive patterns.

Connector by emergent-wisdom · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 14
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/emergent-wisdom-semahash

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Content-addressed semantics: fail-closed handshakes over 617 cognitive patterns.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
8 read · 5 write · 1 delete · 5 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 19

Read from the source code; the running server may list different tools.

Read 8 · Look things up without changing anything.

  • sema_library_search
  • sema_lookup
  • sema_root
  • sema_search
  • sema_stats
  • sema_tree
  • sema_validate
  • sema_verify_context

Write 5 · Create, change, send or run things.

  • sema_library_install
  • sema_library_login
  • sema_library_publish
  • sema_mint
  • sema_resolve

Delete 1 · Delete, drop, revoke or wipe things.

  • sema_reset_session

Not yet classified 5 · We could not tell from the name and description.

  • sema_graph_skeleton
  • sema_handshake
  • sema_propose_context
  • sema_pull
  • sema_use

Network hosts it talks to 7

  • api.github.com · found in code
  • github.com · found in code
  • plausible.io · found in code
  • railway.com · found in code
  • raw.githubusercontent.com · found in code
  • sema-web-production.up.railway.app · found in code
  • semahash.org · found in code

Files it touches

  • Your home directory (~)
  • ~/.config/sema/excluded
  • Any path the agent passes to its tools

Tools (19)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • sema_graph_skeleton

    Ultra-minimal graph overview (~150 tokens). Shows regions, hubs, and recent activity. Returns: Text summary of the graph structure.

  • sema_handshake

    Byte-level definition agreement check between two agents. Verifies that the requesting agent and the local registry have the *same definition* of a pattern, by comparing content hashes. This is a necessary precondition for shared reasoning about a pattern, but it is NOT a guarantee of shared behavior: two agents can agree on the definition text and still implement it differently. Think of it as "we read the same paragraph," not "we will do the same thing." Use this when you need to rule out silent vocabulary drift before coordinating on a pattern. It does not replace behavioral testing. Arg…

  • sema_library_install

    Install a published library by name, path, or library.json URL. Sema downloads the release, verifies every pattern identity and both roots, and builds a fresh read-only database before it registers the library. A name installs exactly the release that the registry verified; if the publisher now serves a different one, nothing is installed. The active vocabulary does not change: call `sema_use(db_path=<name>)` to switch to it. Args: library: A name from `sema_library_search`, a local path, or an HTTPS URL that ends with library.json. registry: The registry that resolves a name…

  • sema_library_login

    Store a registry key that the user created on their profile page. Use this when the user gives you a key that starts with `sema_`. Sema checks the key with the registry and stores it under the user's Sema configuration with owner-only permissions. Do not write the key into a file that is committed or shared. Args: key: The key, starting with sema_. registry: The registry the key belongs to, https://semahash.org by default. Returns: JSON with the account the key belongs to, or an error.

  • sema_library_publish

    Publish a library release on the public registry. This is a public action: everyone can see and install the library afterwards. Ask the user before you call it. The release must be a public GitHub Release in a repository that the logged-in account owns. Build it first with `sema package` and attach its library.json and pattern archive to the release. The registry verifies the release and keeps a snapshot; the GitHub release stays the source. Args: manifest_url: The release's stable URL, for example https://github.com/USER/REPO/releases/latest/download/library.json registry: T…

  • sema_library_search

    Find published Sema libraries on a registry, https://semahash.org by default. No login is needed. Each result gives the library name, version, source repository, pattern count, semantic root, license, and a stable library.json URL. Install one with `sema_library_install(library=<name>)`. Args: query: Words that must all appear in the name, owner, or repository. Empty lists every library. registry: Another registry origin, for example a local test site. Returns: JSON with the matching libraries, or an error.

  • sema_lookup

    Lookup a pattern by its Sema reference (Handle#stub). Args: ref: Pattern reference like "ChainOfThought#27ad" or just "ChainOfThought" Returns: Full pattern JSON

  • sema_mint

    Create a new pattern and add it to the vocabulary. The pattern is validated (schema, dependency wiring, DAG check), hashed to produce a content-addressed identity, and added to the local database. Returns the new pattern's sema_id on success. Exposed by default. Deployments that want a read-only server can set `SEMA_DISABLE_MINT=true` to hide this tool. Args: pattern_json: JSON string of the pattern to mint. Required fields: - handle: PascalCase name (e.g., "MyPattern") - mechanism: How the pattern works - gloss: One-line summary Recommended: invariants, …

  • sema_propose_context

    Propose a shared definition set for multi-agent coordination. Computes a truncated catalog Merkle root over the requested handle-to-definition bindings. The receiving agent calls sema_verify_context with the same handles and compares roots. Properties of the digest: - Order-independent: handle bindings are sorted before the versioned RFC 9162 tree construction. - Binding-sensitive: swapping two handles' definitions changes the root. - 32 bits wide (8 hex chars). Birthday collisions become likely after roughly 65k independently sampled contexts. This is sufficient to catch A…

  • sema_pull

    Refresh the local vocabulary from upstream. Walks the upstream DAG in topological order and updates the active database in place. User-only patterns are preserved; hashes cascade automatically when their upstream deps change. Superseded handles are redirected to their replacements by default (opt out with `preserve_superseded=True`). Returns structured JSON with `success`, `added`, `updated`, `skipped`, `cascaded_user`, `superseded_removed`, `superseded_kept_orphan`, `upstream_removed`, `vocabulary_root_before`, `vocabulary_root_after`, and `vocabulary_root_scheme` so callers can react progr…

  • sema_reset_session

    Reset the session pattern cache. Clears the record of which patterns have been served this session, so the leading matches in subsequent searches return detailed results again. Use when context has been compressed or you need fresh detail. Returns: Confirmation with count of patterns cleared.

  • sema_resolve

    Get a pattern with its dependencies expanded. Args: handle: Pattern handle (e.g., "ChainOfThought") depth: How many hops to expand (1 = direct deps, 2 = deps of deps) Returns: JSON object with the pattern and its resolved dependencies

  • sema_root

    Get both aggregate roots of the active vocabulary. The semantic-set root commits to the unordered set of definition digests and ignores duplicate meanings. The catalog root separately commits to exact handle-to-digest bindings. Both use versioned, domain-separated RFC 9162 Merkle Tree Hash constructions. Pair with `sema_handshake(ref="vocab", ...)` for semantic-set alignment or `sema_handshake(ref="catalog", ...)` for namespace alignment. Returns: JSON with both roots, schemes, counts, full IDs, and short stubs.

  • sema_search

    Search Sema patterns by name, description, or meaning (semantic search). Also search with the problem in front of you, for example "decide under uncertainty" or "find where a disagreement starts": patterns include protocols and checks that structure reasoning. Returns at most 20 ranked matches. The first three unseen matches include search detail; later and previously seen matches use compact summaries. New matches name their layer and category. Searching inside a layer or category ranks its closest patterns, weak matches included: use it when you know which category fits or the first result…

  • sema_stats

    Get statistics about the Sema vocabulary. Returns: JSON with vocabulary statistics

Show 4 more tools
  • sema_tree

    Browse the vocabulary structure organized by layer and category. Args: layer: Filter to specific layer (Physics, Mind, Society, Infrastructure) category: Filter to specific category verbose: If True, includes the gloss (description) for each pattern. Returns: JSON tree structure of patterns

  • sema_use

    Switch the active vocabulary database without restarting. Args: db_path: Path to the database to switch to. Omit to show current. default: If True, switch back to the bundled vocabulary. Returns: JSON with the new vocabulary stats, or current status.

  • sema_validate

    Validate a pattern JSON using the same rules as the mint pipeline. Args: pattern_json: JSON string of a pattern to validate Returns: Validation result with any errors or warnings

  • sema_verify_context

    Verify a semantic context proposed by another agent. Computes the local truncated catalog root for the given handle bindings and compares it against the remote agent's root under the declared scheme. PROCEED if both match, HALT if not. The short root is a drift-detection primitive between cooperating agents, not a security primitive against an adversary (see sema_propose_context for details). Args: handles: List of pattern handles in the proposed context. remote_hash: The context_hash received from the proposing agent. remote_scheme: The root_scheme received from the proposing ag…

Signals

Stars
14
Forks
1
Open issues
9
Weekly downloads
152
Last commit
Oct 11, 2026 (18 days ago)
Last release
Oct 11, 2026 (18 days ago)
Last package publish
Oct 11, 2026 (18 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.emergent-wisdom/semahash
Version
0.10.0
Auth
No auth
Packages
pypi semahash
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from emergent-wisdom

Cite this page

Semahash MCP server. Agent Mart. https://agentmart.dev/connectors/emergent-wisdom-semahash (last updated 2026-10-25)