demo-mcp
Public shared memory MCP server for OKF markdown notes and links with optional human summaries, featuring a web UI and MCP read/write access.
README
demo-mcp
Public shared memory for the Silex talk MCP + second cerveau: anyone can contribute OKF markdown notes and links (optional human summary). Same brain via web UI and MCP (read + write).
No authentication. Rate limit: 3 adds / min and 3 modifications / min per IP.
What you can share
| Kind | Format | Rules |
|---|---|---|
| Note | Markdown + Open Knowledge Format frontmatter | type required; optional title, description, resource, tags, timestamp |
| Link | URL ± title ± tags ± summary | Summary is human-only (never server-generated). List needs_summary to contribute. |
Notes are vectorized (when Workers AI + Vectorize are bound). Links are vectorized only if a summary is present.
Monorepo
apps/api Hono Worker — REST + MCP + D1 + (optional) Vectorize/AI
apps/web TanStack Router + React Query — public UI R/W
packages/shared OKF parser/validator + Zod schemas
Quick start
bun install
# 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:5173
Apply local D1 migrations (first run / after schema change):
bun run db:migrate:local
Example: publish a note
curl -s http://127.0.0.1:8787/api/notes \
-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).
MD
Example: link without summary
curl -s http://127.0.0.1:8787/api/links \
-H 'content-type: application/json' \
-d '{"url":"https://example.com","tags":["reading"]}'
MCP
claude mcp add demo-mcp --url http://127.0.0.1:8787/mcp
POST /mcp JSON-RPC: initialize, tools/list, tools/call.
REST map
| Method | Path | Bucket |
|---|---|---|
| GET | /api/notes, /api/notes/:id |
— |
| POST | /api/notes (OKF MD) |
add |
| PUT | /api/notes/:id |
mod |
| POST | /api/notes/:id/edges |
add |
| GET | /api/links?needs_summary=1 |
— |
| POST | /api/links |
add |
| PATCH | /api/links/:id/summary |
mod |
| GET | /api/search?q= |
— |
| GET | /api/tags |
— |
| POST | /mcp |
tools write → same buckets |
Production
URL: https://demo-mcp.roxabi.dev
(same origin: SPA + /api/* + POST /mcp)
Deploy (from a machine with CF Roxabi credentials in the shell — never commit .env):
# credentials via Vaultwarden / wrangler OAuth — not files in this repo
export CLOUDFLARE_ACCOUNT_ID=b5e90be971920ce406f7b679c4f1cd33
bun install
# relative API paths (empty VITE_API_URL) — no .env file
bun --filter @demo-mcp/web build
bunx wrangler d1 migrations apply demo-mcp --remote --config apps/api/wrangler.toml
bunx wrangler deploy --config apps/api/wrangler.toml
Optional embeddings: create Vectorize index, uncomment [[vectorize]] in apps/api/wrangler.toml, redeploy.
Design notes
- No auth — open write for talk/demo; IP rate limits only.
- No
.envin repo — public config inwrangler.toml[vars]; CF secrets only if needed later (none today). - 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.