# Standalone MCP server

Run a local MCP demonstration and understand its transports, backend, configuration, and boundaries.

Source: https://docs.minds.sh/docs/agents/mcp



Model Context Protocol (MCP) lets an agent host discover and call tools through a shared protocol. The separate `akasha-mcp` binary implements MCP transports. In this source version, its default backend is an in-memory store inside the process.

Use this setup to inspect tool behavior in a local demonstration. Use [HTTP tools](/docs/agents/http-tools) to connect application-controlled tool calls to an existing dedicated Mind.

## Build and inspect [#build-and-inspect]

From the Akasha source root:

```bash
cargo install --path akasha/mcp --bin akasha-mcp
akasha-mcp --help
akasha-mcp info
```

To create and validate a configuration file:

```bash
akasha-mcp init --output akasha-mcp-config.yaml
akasha-mcp validate akasha-mcp-config.yaml
```

`init --force` overwrites the target file. Review generated configuration before running it.

## Start locally [#start-locally]

```bash
akasha-mcp --transport stdio --namespace local-demo --agent-id developer
```

The host starts this process and communicates over standard input/output. Keep protocol output separate from logs. The binary's top-level flags include `--config`, `--transport`, `--host`, `--port`, `--api-key`, `--endpoint`, `--namespace`, `--agent-id`, `--auto-provision`, and `--log-level`. Environment overrides include `AKASHA_API_KEY`, `AKASHA_ENDPOINT`, and `AKASHA_AGENT_ID` where the parser/config supports them.

`--endpoint` updates configuration but does not replace `InMemoryBackend` in the standalone constructor. Do not label it a remote persistent connection.

## Transport support [#transport-support]

| Transport           | Implementation                                          |
| ------------------- | ------------------------------------------------------- |
| `stdio`             | Local process managed by the agent host                 |
| `sse` or `http`     | Legacy SSE transport: `/sse`, `/message`, and `/health` |
| `websocket` or `ws` | Feature-gated WebSocket transport                       |

The `http` alias selects the SSE implementation; it does not mean current Streamable HTTP MCP. Network transports need an appropriate deployment/authentication layer. The standalone tool context is derived from configured namespace, agent ID, and enabled tool profile, not general per-request user metadata. These examples keep the server local through stdio.

## Tool configuration [#tool-configuration]

Tool profiles and tier switches control which operations appear. The source includes cognitive primitives such as remember, recall, forget, reflect, and introspect; specialized operations; and advanced operations that are disabled by default. Tier names here describe tool exposure, not paid Minds feature tiers.

Use actual tool discovery to obtain input schemas and enabled tools. Do not infer access from a static list in a screenshot.

## Verify the demonstration [#verify-the-demonstration]

Ask the host to remember a non-sensitive phrase, then recall it while the same process remains running. A restart can clear that memory. This verifies local tool behavior only. The cogs `mcp test` command is even more isolated: each invocation creates a new backend.

Manual host instructions: [Codex](/docs/agents/codex), [Claude](/docs/agents/claude), and [Cursor](/docs/agents/cursor). The existing cogs setup helpers generate an unavailable CLI subcommand; use these explicit configurations instead.

Source: `akasha/mcp/src/main.rs`, `server.rs`, `config/mod.rs`, `transport/sse.rs`, and `minds-cli/src/mcp.rs`.
