memoo-mcp

memoo-mcp

MCP server for Memoo knowledge graph RAG, enabling search, Q&A, graph traversal, and episode management via the Memoo REST API.

Category
访问服务器

README

memoo-mcp

TypeScript MCP server for Memoo — knowledge graph RAG over the Memoo REST API.

Auth: API key only (moo_sk…). No JWT. No OAuth.

This package is the canonical Memoo MCP implementation. The Go gateway in the Memoo monorepo (api/cmd/mcp-gateway, npm @hinha/memoo) is deprecated for new installs.

Quick start

make install
make check          # typecheck + test
make build

# Stdio (Cursor / Claude / Codex) — recommended
make stdio ARGS='--memoo-base-url https://memoo.hinha.web.id --memo-namespace <uuid> --timeout 600s'

# Optional HTTP (Streamable HTTP, path fixed at /mcp)
make serve
# → http://127.0.0.1:8787/mcp

Or via npm:

npm install && npm run build
MEMOO_API_KEY=moo_sk_xxx npm run stdio -- \
  --memoo-base-url https://memoo.hinha.web.id \
  --memo-namespace 0b00322d-f6ed-45b7-a2e8-b7059f71de34 \
  --timeout 600s

Copy .env.example.env for local development. See make help for all targets.

Host compatibility (Cursor / Claude / Codex / OpenCode)

Primary transport is stdio via @modelcontextprotocol/sdk — the same shape as notion-bank-mcp and the deprecated Go gateway. All of these hosts work with command + args + env:

Host Config location Notes
Cursor .cursor/mcp.json or Settings → MCP Use mcp.json.example
Claude Desktop claude_desktop_config.json Same mcpServers JSON
Claude Code project/user MCP settings Stdio; install skill under .claude/skills/ if desired
Codex MCP / tools config (stdio) Same flags as Cursor
OpenCode MCP server block (command/args/env) Stdio recommended; HTTP url only if host supports Streamable HTTP

Compatible: stdio + Zod tool schemas + SERVER_INSTRUCTIONS on initialize.
HTTP (make serve/mcp): optional; requires Bearer moo_sk…. Prefer stdio for local agents.

Cursor / Claude / Codex / OpenCode config

Same flag shape as the legacy Go gateway. See mcp.json.example:

{
  "mcpServers": {
    "memoo": {
      "command": "node",
      "args": [
        "/Users/hinha/Projects/hinha/memoo-mcp/dist/index.js",
        "--memoo-base-url",
        "https://memoo.hinha.web.id",
        "--memo-namespace",
        "0b00322d-f6ed-45b7-a2e8-b7059f71de34",
        "--timeout",
        "600s"
      ],
      "env": {
        "MEMOO_API_KEY": "moo_sk_xxx"
      }
    }
  }
}

Or via env only (e.g. npx once published):

{
  "mcpServers": {
    "memoo": {
      "command": "npx",
      "args": ["-y", "memoo-mcp@latest"],
      "env": {
        "MEMOO_API_KEY": "moo_sk_xxx",
        "MEMOO_NAMESPACE": "0b00322d-f6ed-45b7-a2e8-b7059f71de34",
        "MEMOO_BASE_URL": "https://memoo.hinha.web.id",
        "MEMOO_TIMEOUT": "600s"
      }
    }
  }
}

Namespace resolution

--memo-namespace / MEMOO_NAMESPACE accepts a UUID or name.

On stdio boot the server calls GET /api/v1/namespaces/{id} (detail), resolves the canonical name, and uses that as the tool default. It does not call list-namespaces for setup.

When a default is configured, agents should omit namespace on tools and should not call memoo_list_namespaces unless the user asks to switch/list other namespaces.

CLI flags

Flag Env Description
--api-key MEMOO_API_KEY Required for stdio (moo_sk…)
--memo-namespace MEMOO_NAMESPACE Required for stdio (UUID or name)
--memoo-base-url MEMOO_BASE_URL Default https://memoo.hinha.web.id
--timeout MEMOO_TIMEOUT Go-style duration (600s, 5m) or ms
--timeout-ms MEMOO_TIMEOUT_MS Timeout in milliseconds
--api-key-prefix MEMOO_API_KEY_PREFIX Default moo_sk

HTTP-only: MEMOO_HOST / MEMOO_PORT (default 127.0.0.1:8787). MCP HTTP path is fixed at /mcp (not configurable). Optional MEMOO_ALLOWED_ORIGINS for CORS Origin allowlist.

Tools

Tool Purpose
search / fetch Host compatibility search / episode fetch
memoo_list_namespaces List namespaces (only when discovering / switching)
memoo_list_episodes List episodes
memoo_search Filtered knowledge search
memoo_ask RAG Q&A
memoo_graph_traverse Graph hops from entity_uuid
memoo_temporal_query Point-in-time query
memoo_create_episode Always async → job_id (summarize first; word max = API plan episode_content_words)
memoo_get_job_status Required after every create — poll until completed/failed
memoo_delete_episode Delete episode

Resources

  • memoo://namespaces
  • memoo://health
  • memoo://episodes/{namespace}/{id}

HTTP serve

npm run serve
  • MCP endpoint: http://127.0.0.1:8787/mcp (fixed path)
  • Health: GET /health
  • Auth: Authorization: Bearer moo_sk… (or process env MEMOO_API_KEY)

Skills

MCP tools and skills are separate:

Piece What it does
memoo-mcp (MCP server) Registers tools (memoo_search, memoo_ask, …) the agent can call
Skill (SKILL.md) Playbook that teaches the agent when/how to explore a Memoo namespace

The MCP protocol does not install skills. You copy the skill folder into your agent’s skills directory (or point the host at it).

Shipped skill:

skills/exploring-knowledge-graph/SKILL.md

Name / slash command: exploring-knowledge-graph → often invoked as /exploring-knowledge-graph.

Prerequisites

  1. Install and enable memoo-mcp (stdio config above) with a valid MEMOO_API_KEY and --memo-namespace / MEMOO_NAMESPACE.
  2. Restart or reload the MCP server in the host after changing MCP config.

Install the skill

From a clone of this repo (REPO = absolute path to memoo-mcp):

Claude Code

# Personal (all projects)
mkdir -p ~/.claude/skills
cp -R "$REPO/skills/exploring-knowledge-graph" ~/.claude/skills/

# Or project-only (commit with the app repo)
mkdir -p .claude/skills
cp -R "$REPO/skills/exploring-knowledge-graph" .claude/skills/

Cursor

# Personal
mkdir -p ~/.cursor/skills
cp -R "$REPO/skills/exploring-knowledge-graph" ~/.cursor/skills/

# Or project-only
mkdir -p .cursor/skills
cp -R "$REPO/skills/exploring-knowledge-graph" .cursor/skills/

Codex / OpenCode / multi-agent

Many hosts also honor a shared layout:

mkdir -p .agents/skills
cp -R "$REPO/skills/exploring-knowledge-graph" .agents/skills/

Check your host docs if it uses a different path. Structure must stay:

…/skills/exploring-knowledge-graph/SKILL.md

Symlink instead of copy (keeps the skill in sync with this repo):

ln -s "$REPO/skills/exploring-knowledge-graph" ~/.claude/skills/exploring-knowledge-graph

How to use

  1. Confirm Memoo MCP tools are available in the host (e.g. memoo_search, memoo_ask).
  2. Automatic: ask something that matches the skill description, for example:
    • “Explore how auth evolved in this Memoo namespace”
    • “Trace dependencies around payment in the knowledge graph”
  3. Explicit (Claude Code and hosts with slash skills):
    /exploring-knowledge-graph
    
    Then add your topic, e.g. /exploring-knowledge-graph authentication architecture.
  4. The agent should:
    • Use the configured default namespace (skip memoo_list_namespaces unless you ask to switch)
    • Call Memoo tools (memoo_searchmemoo_graph_traversememoo_list_episodes / fetchmemoo_ask)
    • Answer in the skill’s exploration format (entities, relationships, timeline, insights)

Update / remove

# Update after pulling memoo-mcp
cp -R "$REPO/skills/exploring-knowledge-graph" ~/.claude/skills/

# Remove
rm -rf ~/.claude/skills/exploring-knowledge-graph

Docs

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选