Skip to main content
Glama
Miko-Protocol

MIKO MCP Server

MIKO

@projectmiko/mcp-server

npm version license: MIT node

MIKO exposed as a Model Context Protocol server. Any MCP-aware client (Claude Desktop, Claude Code, Cursor, OpenAI Agents, Gemini, or a custom runtime) can call MIKO's capabilities as tools. Each tool forwards to the MIKO REST API, which enforces auth, tier, and quota.

Two transports, one package:

  • stdio (default) — the client runs the server locally via npx.

  • Streamable HTTP — a hosted endpoint (https://mcp.mikoprotocol.com/mcp) for clients that connect over the network.

Quick start

npx -y @projectmiko/mcp-server

Or point your client at the hosted endpoint — no install at all:

https://mcp.mikoprotocol.com/mcp

Both need a wallet-signed JWT (see Auth).

Related MCP server: carbon-cashmere-mcp

Tools

Tool

REST endpoint

Min tier

miko.factcheck

POST /v1/factcheck

Pro

miko.persona

POST /v1/persona

Pro

miko.narrative

POST /v1/narrative

Pro

miko.watchlist

GET /v1/watchlist

Pro

miko.insights

POST /v1/insights

Holder

miko.narratives_trending

GET /v1/narratives/trending

Holder

Tiers are set by the wallet's $MIKO holdings: Holder (≥ $100), Pro (≥ $1,000), Whale (≥ $2,000). A tool admits its listed tier and above; below it the call returns 403 tier_insufficient. Higher tiers also get larger daily quotas.

Each tool result carries _meta with the call's tier, quota_remaining, cache_status, and cache_age (from the REST response headers).

miko.narrative takes the token by address:

{ "token_address": "<token address>" }

The former mint_address argument remains accepted as a deprecated alias. Do not provide both names with different values.

Auth

Every call needs a wallet-signed JWT. Obtain one either from the dashboard (https://api.mikoprotocol.com/dashboard — connect, sign, copy the token) or via the REST auth flow:

  1. POST /auth/nonce with { "wallet": "<wallet address>" }{ nonce }.

  2. Sign the nonce with the EVM wallet holding your $MIKO on Robinhood Chain — a standard EIP-191 personal signature (MetaMask's personal_sign).

  3. POST /auth/verify with { wallet, signature, nonce }{ jwt, tier, expires_at, quota }.

The JWT is valid ~24h. Supply it to the server as described below.

Client config

stdio (local, via npx)

{
  "mcpServers": {
    "miko": {
      "command": "npx",
      "args": ["-y", "@projectmiko/mcp-server"],
      "env": { "MIKO_JWT": "<your_wallet_jwt>" }
    }
  }
}

Claude Desktop config path: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows).

Streamable HTTP (hosted)

{
  "mcpServers": {
    "miko": {
      "type": "http",
      "url": "https://mcp.mikoprotocol.com/mcp",
      "headers": { "Authorization": "Bearer <your_wallet_jwt>" }
    }
  }
}

Environment variables

Var

Default

Purpose

MIKO_JWT

wallet-signed JWT (stdio; for HTTP it comes from the request header)

MIKO_API_BASE

https://api.mikoprotocol.com

REST API base URL

MIKO_API_TIMEOUT_MS

60000

upstream request timeout

MIKO_MCP_HTTP

set 1 (or pass --http) to run the Streamable HTTP transport

MIKO_MCP_HTTP_HOST

127.0.0.1

HTTP bind host

MIKO_MCP_HTTP_PORT

8091

HTTP bind port

MIKO_MCP_ALLOWED_ORIGINS

comma-separated Origin allowlist (browser callers)

Develop / run

npm install
npm run check          # syntax check
npm test               # smoke tests (no network)

MIKO_JWT=<jwt> node src/index.js          # stdio
node src/index.js --http                   # Streamable HTTP on 127.0.0.1:8091

Self-hosting the HTTP endpoint

deploy/miko-mcp.service.example (systemd) runs the HTTP transport bound to localhost; deploy/nginx-mcp.conf.example terminates TLS and reverse-proxies /mcp, forwarding the Authorization header and disabling buffering for SSE. Point MIKO_API_BASE at your REST API endpoint.

MIKO Protocol

Website · Docs · Insight Dashboard · REST API reference · Open model — Hugging Face · Ollama · X

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Miko-Protocol/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server