Emercoin Agent
Identity + memory layer for AI agents on the Emercoin blockchain — read open, write via GitHub OAuth
README
Emercoin + AI agent tools (emer-ai-tools)
A runnable Docker stack: an Emercoin node plus an agent gateway that turns
the chain's Name-Value Storage (NVS) into an on-chain identity & memory layer for
AI agents. An agent can prove who it is and anchor what it has learned on a public
blockchain — without holding any cryptocurrency. Hosted at
ai.emercoin.com; exposed to agents as the
emercoin-agent MCP server.
🤖 Building with an AI agent? Read AGENTS.md — the problem it solves, the trust model, the tools, and a first-flow quickstart. A ready-to-use Claude Code skill ships at
.claude/skills/emercoin-identity/(invoke with/emercoin-identity). Design notes: docs/ARCHITECTURE.md.
The repo was originally just a Dockerized Emercoin node; it is now a full application built on top of that node. You can run the whole stack, use the hosted service, or run just the node — see the sections below.
What's in here
AI agent ──MCP tools──▶ edge (auth boundary) ──HTTP──▶ adapter ──JSON-RPC──▶ node
│ (RPC↔REST) (NVS on-chain)
└── Redis (rate limit + login nonces)
| Component | Path | Role |
|---|---|---|
node (emc) |
node/ |
Emercoin core — holds the chain + hot-wallet; internal-only, authorizes nothing. |
adapter (emer-adapter) |
adapter/ |
RPC↔REST: a plain REST surface over the node's JSON-RPC. Internal, gated by X-Internal-Key. |
edge (emer-edge) |
edge/ |
The trust boundary: authenticates agents (GitHub → JWT / signature login), rate-limits writes, builds NVS records, mounts the emercoin-agent MCP at /mcp. |
| mcp_server | mcp_server/ |
A thin stdio MCP client of the edge, distributed via Docker / Smithery for local use. |
| site | site/ |
The public ai.emercoin.com front-end (landing, login, stats). |
Use it as an agent (hosted)
The emercoin-agent MCP server is live — no self-hosting needed:
- Streamable HTTP:
https://ai.emercoin.com/mcp(read tools open; write tools need a GitHub sign-in via OAuth, performed by your MCP client). - Smithery / stdio Docker image: see the Smithery listing
and
mcp_server/README.md.
Tools: node_status, read_record (open) and register_identity, store_memory,
store_memory_batch (after login). Full reference + first-flow in AGENTS.md.
Run the full stack (self-host)
Node (mainnet) + adapter + edge + redis, dev profile:
git clone https://github.com/emercoin/emer-ai-tools && cd emer-ai-tools
cp node/emercoin.conf.example node/emercoin.conf # set rpcpassword
docker compose -f deploy/docker-compose.yaml --profile dev up -d --build
Edge API on :8000; the adapter's RPC↔REST docs are browsable at
http://localhost:8001/docs (dev profile). Wire the MCP server into your agent and
run the first flow — see the AGENTS.md quickstart.
(Use --profile prod to gate the adapter behind a shared X-Internal-Key.)
Run just the Emercoin node
The node alone (no agent tools) is the default stack — no profile needed. It is a classic Emercoin wallet in a container with a separate volume for the blockchain: cross-platform, one-click version bumps, usable from your own projects over JSON-RPC.
cp node/emercoin.conf.example node/emercoin.conf
docker compose -f deploy/docker-compose.yaml up -d --build
Initial sync takes a few hours, but the RPC is usable right away. By default port 6662 connects to the container:
- address: 127.0.0.1 · user: emcrpc · password: emcpass
- method: POST, e.g. body
{"method": "getinfo"}
Change the RPC password:
docker compose -f deploy/docker-compose.yaml exec emc bash changepass.sh
docker compose -f deploy/docker-compose.yaml restart emc
Health check — POST to http://emcrpc:emcpass@127.0.0.1:6662 with {"method":"getinfo"}:
curl --location --request POST 'emcrpc:emcpass@127.0.0.1:6662' \
--header 'Content-Type: application/json' \
--data-raw '{"method": "getinfo"}'
A healthy node replies with JSON (fullversion, version, balance, …).
Manage the build:
docker compose -f deploy/docker-compose.yaml stop emc # stop
docker compose -f deploy/docker-compose.yaml down # remove containers (keeps the volume)
docker volume rm emer_data # delete the chain DB — also deletes wallet.dat!
Status
MVP, verified end-to-end on mainnet: identity registration, signature login, single
- atomic batch memory writes, reads, history, names-by-address. Not yet
production-hardened (GitHub App/OAuth login, ≥32-byte JWT secret, hot-wallet split);
the
prodcompose profile already gates the adapter behindX-Internal-Key. Details in AGENTS.md and docs/ARCHITECTURE.md.
License
MIT — see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.