{
  "markdown": "![](https://github.com/emercoin/emer-ai-tools/blob/main/docs/docker.png)\n[![Smithery](https://img.shields.io/badge/Smithery-Verified-green?style=flat-square&logo=github)](https://smithery.ai/servers/mechnotech/emer-ai)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n# Emercoin + AI agent tools (`emer-ai-tools`)\n\nA runnable Docker stack: an **Emercoin node** plus an **agent gateway** that turns\nthe chain's Name-Value Storage (NVS) into an **on-chain identity & memory layer for\nAI agents**. An agent can prove who it is and anchor what it has learned on a public\nblockchain — **without holding any cryptocurrency**. Hosted at\n**[ai.emercoin.com](https://ai.emercoin.com)**; exposed to agents as the\n`emercoin-agent` MCP server.\n\n> **🤖 Building with an AI agent?** Read **[AGENTS.md](AGENTS.md)** — the problem it\n> solves, the trust model, the tools, and a first-flow quickstart. A ready-to-use\n> Claude Code skill ships at `.claude/skills/emercoin-identity/` (invoke with\n> `/emercoin-identity`). Design notes: **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**.\n\nThe repo was originally just a Dockerized Emercoin node; it is now a full\napplication built on top of that node. You can run the **whole stack**, use the\n**hosted service**, or run **just the node** — see the sections below.\n\n## What's in here\n\n```\n AI agent ──MCP tools──▶ edge (auth boundary) ──HTTP──▶ adapter ──JSON-RPC──▶ node\n                              │                       (RPC↔REST)        (NVS on-chain)\n                              └── Redis (rate limit + login nonces)\n```\n\n| Component | Path | Role |\n|-----------|------|------|\n| **node** (`emc`) | `node/` | Emercoin core — holds the chain + hot-wallet; internal-only, authorizes nothing. |\n| **adapter** (`emer-adapter`) | `adapter/` | RPC↔REST: a plain REST surface over the node's JSON-RPC. Internal, gated by `X-Internal-Key`. |\n| **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`. |\n| **mcp_server** | `mcp_server/` | A thin stdio MCP client of the edge, distributed via Docker / Smithery for local use. |\n| **site** | `site/` | The public `ai.emercoin.com` front-end (landing, login, stats). |\n\n## Use it as an agent (hosted)\n\nThe `emercoin-agent` MCP server is live — no self-hosting needed:\n\n- **Streamable HTTP:** `https://ai.emercoin.com/mcp` (read tools open; write tools need\n  a GitHub sign-in via OAuth, performed by your MCP client).\n- **Smithery / stdio Docker image:** see the [Smithery listing](https://smithery.ai/servers/mechnotech/emer-ai)\n  and `mcp_server/README.md`.\n\nTools: `node_status`, `read_record` (open) and `register_identity`, `store_memory`,\n`store_memory_batch` (after login). Full reference + first-flow in **[AGENTS.md](AGENTS.md)**.\n\n## Run the full stack (self-host)\n\nNode (mainnet) + adapter + edge + redis, dev profile:\n```bash\ngit clone https://github.com/emercoin/emer-ai-tools && cd emer-ai-tools\ncp node/emercoin.conf.example node/emercoin.conf      # set rpcpassword\ndocker compose -f deploy/docker-compose.yaml --profile dev up -d --build\n```\nEdge API on `:8000`; the adapter's RPC↔REST docs are browsable at\n`http://localhost:8001/docs` (dev profile). Wire the MCP server into your agent and\nrun the first flow — see the [AGENTS.md quickstart](AGENTS.md#quickstart).\n(Use `--profile prod` to gate the adapter behind a shared `X-Internal-Key`.)\n\n## Run just the Emercoin node\n\nThe node alone (no agent tools) is the default stack — no profile needed. It is a\nclassic Emercoin wallet in a container with a separate volume for the blockchain:\ncross-platform, one-click version bumps, usable from your own projects over JSON-RPC.\n\n```bash\ncp node/emercoin.conf.example node/emercoin.conf\ndocker compose -f deploy/docker-compose.yaml up -d --build\n```\n\nInitial sync takes a few hours, but the RPC is usable right away. By default port\n**6662** connects to the container:\n- address: **127.0.0.1** · user: **emcrpc** · password: **emcpass**\n- method: **POST**, e.g. body `{\"method\": \"getinfo\"}`\n\n**Change the RPC password:**\n```bash\ndocker compose -f deploy/docker-compose.yaml exec emc bash changepass.sh\ndocker compose -f deploy/docker-compose.yaml restart emc\n```\n\n**Health check** — POST to `http://emcrpc:emcpass@127.0.0.1:6662` with `{\"method\":\"getinfo\"}`:\n```bash\ncurl --location --request POST 'emcrpc:emcpass@127.0.0.1:6662' \\\n  --header 'Content-Type: application/json' \\\n  --data-raw '{\"method\": \"getinfo\"}'\n```\nA healthy node replies with JSON (`fullversion`, `version`, `balance`, …).\n\n**Manage the build:**\n```bash\ndocker compose -f deploy/docker-compose.yaml stop emc    # stop\ndocker compose -f deploy/docker-compose.yaml down        # remove containers (keeps the volume)\ndocker volume rm emer_data                               # delete the chain DB — also deletes wallet.dat!\n```\n\n## Status\n\nMVP, verified end-to-end on mainnet: identity registration, signature login, single\n+ atomic batch memory writes, reads, history, names-by-address. Not yet\nproduction-hardened (GitHub App/OAuth login, ≥32-byte JWT secret, hot-wallet split);\nthe `prod` compose profile already gates the adapter behind `X-Internal-Key`. Details\nin **[AGENTS.md](AGENTS.md)** and **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 5419,
  "sha": "ef927033a085ce65b603f144e0383275a61f64c4bfd7412d9bbbde2746c622c6",
  "repo_slug": "emercoin/emer-ai-tools",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_emercoin_emercoin_agent_8d86151b/readme"
}