
nikowru/mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
A custom MCP (Model Context Protocol) file-server connector that gives several Claude Code sessions — , , — one shared, sandboxed note-taking workspace, each role scoped to a different set of tools...
概要
A custom MCP (Model Context Protocol) file-server connector that gives several Claude Code sessions — , , — one shared, sandboxed note-taking workspace, each role scoped to a different set of tools by its own bearer token. Built for a CS Midterms Pt. 1 project. - REPORT.md — the written summary: design, threat list, what the two demo runs actually showed. - DEMO_SCRIPT.md — 5-minute live demo plan with a network-failure fallback. - docs/design-notes.md — every design decision and why. - docs/security-notes.md — what was attacked and what held. - docs/transcripts/run1/, run2/ — real session transcripts from both demo runs. This README gets the whole thing running from a fresh clone on Windows. workspace/ is git-ignored because it's generated state, so the demo results are committed separately under docs/demo-output/ — see that folder's own README for how the three views (transcripts, logs, final files) relate.
README
以下は原文 README の抜粋です。原文を見る。
notes-hub
A custom MCP (Model Context Protocol) file-server connector that gives several Claude Code sessions — builder, writer, auditor — one shared, sandboxed note-taking workspace, each role scoped to a different set of tools by its own bearer token. Built for a CS Midterms Pt. 1 project.
REPORT.md— the written summary: design, threat list, what the two demo runs actually showed.DEMO_SCRIPT.md— 5-minute live demo plan with a network-failure fallback.docs/design-notes.md— every design decision and why.docs/security-notes.md— what was attacked and what held.docs/transcripts/run1/,run2/— real session transcripts from both demo runs.
This README gets the whole thing running from a fresh clone on Windows.
Submission map
| Deliverable | Where it is |
|---|---|
| Repository + README | this repo, this file |
| Transcript of a multi-step task | docs/transcripts/run2/ (and run1/) — three sessions per run, builder → writer → auditor |
| PLAN_LOG / CHECKPOINTS evidence | docs/demo-output/run2/PLAN_LOG.md, CHECKPOINTS.md (plus PROJECT_STATE.md, DECISIONS.md, AGENT_GUIDE.md); run1/ for comparison |
| Tool-call logs (efficiency evidence) | docs/demo-output/logs/tool_calls_run1.jsonl, tool_calls_run2.jsonl |
| Report: stack, tool design, security tradeoffs | REPORT.md |
| Report appendix: claim-by-claim verification, full limitations, bug and threat detail | docs/report-appendix.md |
| Screenshots: role tool lists, hardening, token-length check, tests, health checks | docs/screenshots/ (embedded in REPORT.md and the appendix) |
| 5-minute live demo plan | DEMO_SCRIPT.md |
| Design decisions, with reasoning | docs/design-notes.md |
| Attack attempts and results | docs/security-notes.md |
| Day-to-day usage after the course | docs/USING_NOTES_HUB.md |
workspace/ is git-ignored because it’s generated state, so the demo results are committed separately under docs/demo-output/ — see that folder’s own README for how the three views (transcripts, logs, final files) relate.
Quick verify in 10 minutes
For a marker or anyone who just wants to confirm this works. Needs only Python and git — no ngrok account, no pm2, no Claude Code, and none of my credentials. Every command below was run from a fresh clone of this repo before being written here.
# 1. Clone, create the venv, install (~2 min)
git clone https://github.com/nikowru/mcp.git notes-hub
cd notes-hub
py -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
# 2. Run the test suite - no .env needed, the tests supply their own tokens
.venv\Scripts\python.exe -m pytest
# expect: 77 passed (on macOS/Linux: 74 passed, 3 skipped - see below)
# 3. Make a throwaway .env with three random tokens
copy .env.example .env
.venv\Scripts\python.exe -c "import secrets; print(secrets.token_urlsafe(32))"
# run that three times; paste one value into each of NOTES_TOKEN_BUILDER,
インストール
npx -y @modelcontextprotocol/inspector --cli http://127.0.0.1:8000/mcp --transport http