loading…
Search for a command to run...
loading…
Provides structured investor psychology coaching tools for the Doggi (Careful Starter) curriculum through 7 specialized tools. Enables Claude to access specific
Provides structured investor psychology coaching tools for the Doggi (Careful Starter) curriculum through 7 specialized tools. Enables Claude to access specific lesson content and coaching interventions on-demand without re-ingesting the entire curriculum each time.
Remote MCP server delivering the Doggi (Careful Starter) investor-psychology curriculum as 7 tools. Built so Claude pulls only the lesson slice it needs per turn instead of re-ingesting the whole corpus.
| Path | What |
|---|---|
server.py |
Business logic. The DoggiMCP class — 7 tool handlers, reads from disk |
http_server.py |
HTTP wrapper. Exposes DoggiMCP over MCP Streamable HTTP, with API-key auth |
coaching_session.py |
Local client (Anthropic SDK). Useful for testing tool flow without deploying |
tests/demo.py |
Smoke test, runs every tool |
data/ |
Framework, archetype, interventions, progress (source of truth) |
lessons/ |
Lesson 1–6 markdown (source of truth) |
Dockerfile, fly.toml, requirements.txt |
Deploy config for Fly.io |
DEPLOY.md |
Step-by-step deploy guide |
# Smoke test, no API key needed
python3 tests/demo.py
# Run the HTTP server locally
MCP_API_KEY=test pip install -r requirements.txt
MCP_API_KEY=test python3 http_server.py
curl -H "X-API-Key: test" http://localhost:8000/mcp
# Live coaching client (needs ANTHROPIC_API_KEY + COACHING_MODEL)
python3 coaching_session.py
See DEPLOY.md — Fly.io, ~20 minutes end to end.
get_lesson(n) — lesson 1–6get_framework() — north starget_archetype_triggers() — Doggi triggers, red flags, strengthsget_coaching_intervention(n) — coaching style, do/don't, example for lesson nget_progress_state() — where the client is in the journeyanalyze_response(text, n) — match user text against triggers and red flagsnext_lesson(n) — sequencingEverything lives in data/ and lessons/. Edit, commit, fly deploy. No code change needed.
lessons/lesson{1-6}.md — lesson contentdata/archetype.json — triggers, red flags, strengthsdata/interventions.json — coaching style per lessondata/progress_state.json — client state (replace with DB query in production)coaching_session.py reads COACHING_MODEL from env.http_server.py refuses to start without MCP_API_KEY./mcp requests via X-API-Key header/health is open (Fly.io needs it for liveness checks)lesson_num validated as int 1–6 before any file accessanalyze_response rejects payloads over 10KBMCP_API_KEY and ANTHROPIC_API_KEY come from env only.gitignore and .dockerignore exclude .env* and other secret patternsДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"doggi-mcp-server": {
"command": "npx",
"args": []
}
}
}