Semahash
Content-addressed semantics: fail-closed handshakes over 617 cognitive patterns.
Connector by emergent-wisdom · GitHub account verified by the MCP Registry
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.
About
Reviews
Write a reviewNo 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_searchsema_lookupsema_rootsema_searchsema_statssema_treesema_validatesema_verify_context
Write 5 · Create, change, send or run things.
sema_library_installsema_library_loginsema_library_publishsema_mintsema_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_skeletonsema_handshakesema_propose_contextsema_pullsema_use
Network hosts it talks to 7
api.github.com· found in codegithub.com· found in codeplausible.io· found in coderailway.com· found in coderaw.githubusercontent.com· found in codesema-web-production.up.railway.app· found in codesemahash.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_skeletonUltra-minimal graph overview (~150 tokens). Shows regions, hubs, and recent activity. Returns: Text summary of the graph structure.
sema_handshakeByte-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_installInstall 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_loginStore 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_publishPublish 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_searchFind 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_lookupLookup a pattern by its Sema reference (Handle#stub). Args: ref: Pattern reference like "ChainOfThought#27ad" or just "ChainOfThought" Returns: Full pattern JSON
sema_mintCreate 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_contextPropose 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_pullRefresh 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_sessionReset 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_resolveGet 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_rootGet 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_searchSearch 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_statsGet statistics about the Sema vocabulary. Returns: JSON with vocabulary statistics
Show 4 more tools
sema_treeBrowse 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_useSwitch 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_validateValidate 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_contextVerify 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
- Repository
- github.com/emergent-wisdom/sema
- Website
- semahash.org
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from emergent-wisdom
- 0.548score
Meaning Model
emergent-wisdom
Revisable general-purpose models with opt-in story and ideation add-ons.
ConnectorAFreshness: ALocal↓ 196/wkClaude Code +5 - 0.520score
Understanding Graph
emergent-wisdom
Persistent understanding via workflow prompts, typed updates, graph-native code, and supersession.
ConnectorAFreshness: ALocal★ 1Claude Code +5
Cite this page
Semahash MCP server. Agent Mart. https://agentmart.dev/connectors/emergent-wisdom-semahash (last updated 2026-10-25)