Content-addressed semantics: fail-closed handshakes over 453 cognitive patterns.
{
"mcpServers": {
"io-github-emergent-wisdom-semahash": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Content-addressed semantics: fail-closed handshakes over 453 cognitive patterns.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
License not specified.
Is it maintained?
Commit history unknown.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
MCP Security Weekly
Get CVE alerts and security updates for io.github.emergent-wisdom/semahash and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Content-addressed semantics for multi-agent coordination.
Sema is a semantic commons that content-addresses meaning itself: the definition is the identifier. By deriving identifiers from the cryptographic hash of a pattern's definition, any divergence in meaning produces a distinct hash, guaranteeing that misaligned agents halt rather than fail silently.
Web: semahash.org
The fastest way to add sema to Claude Code — no prior pip install needed:
claude mcp add sema -- uvx --from semahash sema mcp
This uses uv to download, install, and run sema
in an isolated environment on first invocation, then caches it for subsequent
calls. Same shape as npx -y in the Node ecosystem.
pip install semahash
For MCP server support (recommended for AI agents):
pip install "semahash[mcp]"
Then register with Claude Code:
claude mcp add sema -- sema mcp
Already covered above via the uvx or pip install paths. To add Sema to
OpenClaw via mcporter:
npm install -g mcporter
mcporter config add sema --command sema --arg mcp --scope home
Or clone and install locally for development:
git clone https://github.com/emergent-wisdom/sema.git
pip install -e "./sema[mcp]"
claude mcp add sema -- sema mcp
Your agent now has access to sema_search, sema_lookup, sema_handshake, and 5 more tools. Any MCP-compatible framework works — Sema exposes a standard stdio server.
Verify it works — ask your agent: "Search sema for coordination patterns and handshake on StateLock"
Full integration guides: Claude Code | OpenClaw
# Search the vocabulary
sema search "coordination"
# Look up a specific pattern
sema resolve StateLock
# Print a pattern's full definition
sema show StateLock
# Browse the graph structure
sema skeleton
# Start local API + web frontend (binds to 127.0.0.1 by default)
sema serve
Build a private registry from scratch — no PR or maintainer in the loop:
sema init ./mylib.db
export SEMA_DB_PATH=$(pwd)/mylib.db
sema apply --add path/to/MyPattern.json
sema search "..."
Subsequent sema commands (including sema mcp) read from your private
registry. See CONTRIBUTING.md for the canonical
contribution path and docs/versioning.md for the
refinement and supersession policy.
from sema.core.actions import sema_handshake
import json
# Look up the canonical hash
result = json.loads(sema_handshake("StateLock"))
print(result["canonical_ref"]) # StateLock#7859
# Verify alignment
result = json.loads(sema_handshake("StateLock#7859"))
print(result["verdict"]) # PROCEED
python experiments/demos/local_handshake.py
See th