dy-mcp-demo (dy-mcp)
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.
Ask AI about dy-mcp-demo (dy-mcp)
Powered by Claude Β· Grounded in docs
I know everything about dy-mcp-demo (dy-mcp). Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
dy-mcp-demo
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
- Open the URL in a browser to see the Editorial-style web companion.
- Or point any MCP-aware client (Claude Desktop, Claude Code, etc.) at
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.
What's the same as dy-mcp?
Everything to do with the MCP protocol and the data model:
- Six typed contexts:
project,idea,preference,writing_style,skill,general. - All 12 tools:
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. - All 7 resources under
context://. - Same SQLite schema, same storage code, same importer, same HTTP routes.
What's different?
- No auth.
/auth/*,/oauth/*,/.well-known/*, session cookies, password bootstrap β all removed./mcpis open. The web UI boots straight into the dashboard. - Hourly reset. A scheduled task wipes the DB and reseeds it with the
fictional persona (see
scripts/seed.ts). - Default port is 7879 so it can run alongside the main dy-mcp on the same machine.
- Web sidebar shows "PUBLIC DEMO" and a "resets hourly" note.
Try it from an MCP client
Claude Code
claude mcp add --transport http dy-mcp-demo https://demo-mcp.dyuhaus.com/mcp
Claude Desktop / any config-file client
{
"mcpServers": {
"dy-mcp-demo": {
"transport": "http",
"url": "https://demo-mcp.dyuhaus.com/mcp"
}
}
}
curl
# 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":{}}}'
Run the demo locally
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
HTTP endpoints
| 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) |
Hosting
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β runsscripts/seed.tsevery hour viatsx.
Point a Cloudflare tunnel at http://localhost:7879 under the hostname of
your choice. See CLAUDE.md for the exact commands.
Environment variables
| 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) |
License
MIT.
