loading…
Search for a command to run...
loading…
A public demo of a personal-context MCP server that exposes six typed contexts (project, idea, preference, writing_style, skill, general) and twelve tools for m
A public demo of a personal-context MCP server that exposes six typed contexts (project, idea, preference, writing_style, skill, general) and twelve tools for managing personal data, with an hourly data reset.
A public, unauthenticated demo of dy-mcp — an MCP personal-context server. Lets you poke at every tool the server exposes without needing to install or configure anything.
Live at: https://demo-mcp.dyuhaus.com
https://demo-mcp.dyuhaus.com/mcp — no auth header required.The data is invented (a fictional writer-developer named "Alex Quinn") and the whole database resets every hour, so feel free to create, edit, or delete anything. You won't break it.
For the real, password-protected server this is cloned from, see dyuhaus/dy-mcp.
Everything to do with the MCP protocol and the data model:
project, idea, preference, writing_style, skill, general.get_personal_context, list_contexts, get_context,
add_context, update_context, delete_context, search_contexts,
import_project, import_project_section, list_project_files,
get_project_file, delete_project_file.context://./auth/*, /oauth/*, /.well-known/*, session cookies,
password bootstrap — all removed. /mcp is open. The web UI boots straight
into the dashboard.scripts/seed.ts).claude mcp add --transport http dy-mcp-demo https://demo-mcp.dyuhaus.com/mcp
{
"mcpServers": {
"dy-mcp-demo": {
"transport": "http",
"url": "https://demo-mcp.dyuhaus.com/mcp"
}
}
}
# list all tools
curl -sS -X POST https://demo-mcp.dyuhaus.com/mcp \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# call a tool
curl -sS -X POST https://demo-mcp.dyuhaus.com/mcp \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_personal_context","arguments":{}}}'
npm install
npm run build
npm run seed # wipe + reseed the demo DB
npm run web:build
npm run start:api # http://localhost:7879
The web UI is served at the same port as the API.
Dev loop:
npm run dev:api # backend with tsx watch
npm run web:dev # vite dev server on :5173
| Method | Path | Body / query |
|---|---|---|
| GET | /health |
returns { ok, demo: true, resets_every_minutes, counts } |
| GET | /contexts |
?type=&tag=&parent_id=&limit=&offset= |
| POST | /contexts |
{ type, title, content?, tags?, metadata?, parent_id? } |
| GET | /contexts/:id |
— |
| PATCH | /contexts/:id |
any subset of the add body |
| DELETE | /contexts/:id |
— |
| GET | /search |
?q=&type=&limit= |
| GET | /activity |
?limit= — in-memory ring buffer, 500 entries, newest first |
| GET | /export |
full payload snapshot |
| GET | /tools |
catalog of tools + resources (drives the /Tools page) |
| GET | /contexts/:id/files |
?section= |
| GET | /files/:id |
— |
| DELETE | /files/:id |
— |
| POST | /import/project |
{ path, name?, description?, tags?, include_content?, … } |
| POST | /import/section |
{ path, section_name, parent_project_id?, … } |
| POST | /mcp |
MCP over Streamable HTTP (stateless, single round-trip) |
The included scripts/install-demo-task.ps1 registers two Windows scheduled
tasks:
dy-mcp-demo-api — runs the built server on :7879 at boot.dy-mcp-demo-reset — runs scripts/seed.ts every hour via tsx.Point a Cloudflare tunnel at http://localhost:7879 under the hostname of
your choice. See CLAUDE.md for the exact commands.
| Variable | Default |
|---|---|
DY_MCP_DB_PATH |
~/.dy-mcp-demo/context.db |
DY_MCP_API_PORT |
7879 |
DY_MCP_API_ORIGIN |
* |
DY_MCP_DEMO_RESET_MIN |
60 (informational) |
DY_MCP_WEB_DIST |
<repo>/web/dist |
VITE_API_BASE_URL |
(same origin) |
MIT.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"dy-mcp-demo-dy-mcp": {
"command": "npx",
"args": []
}
}
}