demo-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@demo-mcpadd a note titled 'MCP demo' with tags demo, talk"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
demo-mcp
Private shared memory POC for the Silex talk MCP + second cerveau: OKF markdown notes + links (optional human summary). Same brain via web UI and MCP (read + write).
Auth: shared API key (
Authorization: Bearer …orX-API-Key).
Rate limit: 3 adds / min and 3 modifications / min per IP.
What you can share
Kind | Format | Rules |
Note | Markdown + Open Knowledge Format frontmatter |
|
Link | URL ± title ± tags ± summary | Summary is human-only (never server-generated). List |
Notes are vectorized (when Workers AI + Vectorize are bound). Links are vectorized only if a summary is present.
Related MCP server: Bruin
Monorepo
apps/api Hono Worker — REST + MCP + D1 + (optional) Vectorize/AI
apps/web TanStack Router + React Query — private UI R/W
packages/shared OKF parser/validator + Zod schemas
plugins/demo-mcp Claude Code plugin (MCP + skills)
.claude-plugin/ Marketplace manifest (install from this repo)Claude Code plugin
MCP alone = tools. Plugin = MCP + skills (when/how to use OKF, no auto-summaries, rate limits).
claude plugin marketplace add MickaelV0/demo-mcp
claude plugin install demo-mcp@demo-mcp
# prompts for API key (sensitive userConfig)Local:
claude --plugin-dir ./plugins/demo-mcpSee plugins/demo-mcp/README.md.
Quick start
bun install
# Local API key — without it every /api/* and /mcp call returns 503
cp apps/api/.dev.vars.example apps/api/.dev.vars
# API (D1 local)
bun run dev:api
# → http://127.0.0.1:8787
# Web (proxies /api + /mcp to 8787)
bun run dev:web
# → http://127.0.0.1:5173Apply local D1 migrations (first run / after schema change):
bun run db:migrate:localExamples below use the
.dev.vars.examplekey (dev-local-key). Every/api/*and/mcpcall needs it —Authorization: Bearer …orX-API-Key.
Example: publish a note
curl -s http://127.0.0.1:8787/api/notes \
-H 'authorization: Bearer dev-local-key' \
-H 'content-type: text/markdown' \
--data-binary @- <<'MD'
---
type: Note
title: Hello shared memory
tags: [demo, mcp]
---
Body in markdown. Link [[other]] or [x](./other.md).
MDExample: link without summary
curl -s http://127.0.0.1:8787/api/links \
-H 'authorization: Bearer dev-local-key' \
-H 'content-type: application/json' \
-d '{"url":"https://example.com","tags":["reading"]}'MCP
claude mcp add demo-mcp --transport http http://127.0.0.1:8787/mcp \
--header "Authorization: Bearer dev-local-key"POST /mcp JSON-RPC: initialize, tools/list, tools/call.
REST map
Method | Path | Bucket |
GET |
| — |
POST |
| add |
PUT |
| mod |
POST |
| add |
GET |
| — |
POST |
| add |
PATCH |
| mod |
GET |
| — |
GET |
| — |
POST |
| tools write → same buckets |
Production
URL: https://demo-mcp.roxabi.dev
(same origin: SPA + /api/* + POST /mcp)
Deploy (CF credentials in shell only — never commit .env):
export CLOUDFLARE_ACCOUNT_ID=b5e90be971920ce406f7b679c4f1cd33
bun install
bun --filter @demo-mcp/web build
bunx wrangler d1 migrations apply demo-mcp --remote --config apps/api/wrangler.toml
# set once (or rotate): do NOT put this in the repo
printf '%s' "$DEMO_MCP_API_KEY" | bunx wrangler secret put API_KEY --config apps/api/wrangler.toml
bunx wrangler deploy --config apps/api/wrangler.tomlPublic without key: GET /health only. All /api/* and /mcp need the key.
Optional embeddings: create Vectorize index, uncomment [[vectorize]] in apps/api/wrangler.toml, redeploy.
Design notes
POC auth — one shared API key (Worker secret
API_KEY), not full user accounts.No
.envin repo —wrangler.toml[vars]for public config; secrets viawrangler secret put.OKF only for notes — invalid frontmatter → 400.
Double surface — web curation + MCP action, one Hono API.
Context: Silex talk MCP, plugins & second cerveau.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
One memory, every AI. A shared, user-owned markdown memory your AI clients read and write over MCP.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Shared Markdown notes for MCP-compatible AI tools.
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server that enables full-text search and link navigation over Markdown files as a knowledge graph.-
- AlicenseNot gradedqualityCmaintenanceMCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.4 npm2MIT
- AlicenseNot gradedqualityBmaintenanceA dynamic, governed memory layer for Markdown notes that serves knowledge to AI clients and humans through a secure MCP server, with scoped access, git-audited changes, and optional LLM-powered semantic search.Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for managing a local, domain-agnostic knowledge base using Markdown notes with frontmatter. Enables AI agents to capture, read, search, link, and maintain notes with atomic writes and privacy controls.13MIT