{"id":51201187,"url":"https://github.com/mordiaky/hypothesis-tracker-mcp","last_synced_at":"2026-06-28T00:30:53.034Z","repository":{"id":348303013,"uuid":"1195502144","full_name":"mordiaky/hypothesis-tracker-mcp","owner":"mordiaky","description":"MCP server for persistent hypothesis tracking with Bayesian confidence updates","archived":false,"fork":false,"pushed_at":"2026-03-31T15:16:53.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-31T17:34:28.531Z","etag":null,"topics":["ai","bayesian","hypothesis","mcp","mcp-server","reasoning"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mordiaky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-29T18:37:07.000Z","updated_at":"2026-03-31T15:16:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mordiaky/hypothesis-tracker-mcp","commit_stats":null,"previous_names":["mordiaky/hypothesis-tracker-mcp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mordiaky/hypothesis-tracker-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mordiaky%2Fhypothesis-tracker-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mordiaky%2Fhypothesis-tracker-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mordiaky%2Fhypothesis-tracker-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mordiaky%2Fhypothesis-tracker-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mordiaky","download_url":"https://codeload.github.com/mordiaky/hypothesis-tracker-mcp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mordiaky%2Fhypothesis-tracker-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34873663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","bayesian","hypothesis","mcp","mcp-server","reasoning"],"created_at":"2026-06-28T00:30:52.969Z","updated_at":"2026-06-28T00:30:53.028Z","avatar_url":"https://github.com/mordiaky.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hypothesis Tracker MCP\n\nAn MCP server that gives AI agents a persistent scientific method. Track hypotheses, accumulate evidence, and update confidence via Bayesian logic — across sessions.\n\nInstead of agents forming implicit hypotheses in their context window and forgetting them, this server provides structured, persistent investigation with a full audit trail.\n\n## Install\n\n### npx (recommended)\n\nNo install needed — just add to your MCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"hypothesis-tracker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hypothesis-tracker-mcp\"]\n    }\n  }\n}\n```\n\n### Global install\n\n```bash\nnpm install -g hypothesis-tracker-mcp\n```\n\nThen add to your MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"hypothesis-tracker\": {\n      \"command\": \"hypothesis-tracker-mcp\"\n    }\n  }\n}\n```\n\n### Claude Code\n\nAdd globally for all projects:\n\n```bash\nclaude mcp add --scope global hypothesis-tracker -- npx -y hypothesis-tracker-mcp\n```\n\nOr add to `~/.claude/.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"hypothesis-tracker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hypothesis-tracker-mcp\"]\n    }\n  }\n}\n```\n\n## Data Storage\n\nAll data is stored locally in `~/.hypothesis-tracker/data.db` (SQLite with WAL mode). Nothing leaves your machine.\n\n## Tools\n\n### `hypothesis_create`\n\nCreate a new hypothesis with an initial confidence level.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `title` | string | yes | Title of the hypothesis |\n| `description` | string | yes | Detailed description |\n| `initial_confidence` | number (0-1) | yes | Starting confidence level |\n| `tags` | string[] | no | Tags for categorization |\n| `context` | string | no | Why this hypothesis was formed |\n\n### `hypothesis_add_evidence`\n\nAdd evidence to a hypothesis. Automatically updates confidence using Bayesian logic.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `hypothesis_id` | string | yes | ID of the hypothesis |\n| `type` | `\"supporting\"` \\| `\"contradicting\"` \\| `\"neutral\"` | yes | Evidence type |\n| `description` | string | yes | Description of the evidence |\n| `weight` | number (0-1) | no | Strength of the evidence (default: 0.5) |\n| `source` | string | no | Source of the evidence |\n\n### `hypothesis_update`\n\nManually update hypothesis fields.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `hypothesis_id` | string | yes | ID of the hypothesis |\n| `confidence` | number (0-1) | no | New confidence level |\n| `description` | string | no | Updated description |\n| `tags` | string[] | no | Updated tags |\n\n### `hypothesis_list`\n\nList hypotheses with filtering and sorting.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `status` | `\"active\"` \\| `\"confirmed\"` \\| `\"rejected\"` \\| `\"all\"` | no | Filter by status (default: `\"active\"`) |\n| `sort_by` | `\"confidence\"` \\| `\"created\"` \\| `\"updated\"` | no | Sort field (default: `\"confidence\"`) |\n| `tags` | string[] | no | Filter by tags (matches any) |\n\n### `hypothesis_resolve`\n\nMark a hypothesis as confirmed or rejected.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `hypothesis_id` | string | yes | ID of the hypothesis |\n| `resolution` | `\"confirmed\"` \\| `\"rejected\"` | yes | Outcome |\n| `final_evidence` | string | yes | Final evidence for the resolution |\n| `confidence` | number (0-1) | no | Final confidence override |\n\n### `hypothesis_history`\n\nGet full audit trail for a hypothesis — all evidence added, confidence changes, and resolution.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `hypothesis_id` | string | yes | ID of the hypothesis |\n\n## Example: Debugging a Performance Issue\n\n```\n1. App is slow — create competing hypotheses:\n\n   hypothesis_create(\"Database queries are slow\", ..., confidence=0.5)\n   hypothesis_create(\"Memory leak in WebSocket handler\", ..., confidence=0.4)\n   hypothesis_create(\"Network latency to external API\", ..., confidence=0.3)\n\n2. Run profiler, add evidence:\n\n   hypothesis_add_evidence(db_id, type=\"contradicting\",\n     description=\"Profiler shows DB queries all under 10ms\", weight=0.8)\n   → DB hypothesis drops from 0.5 to 0.26\n\n   hypothesis_add_evidence(ws_id, type=\"supporting\",\n     description=\"Heap snapshot shows WS connections growing unbounded\", weight=0.7)\n   → WS hypothesis rises from 0.4 to 0.65\n\n3. Next session — pick up where you left off:\n\n   hypothesis_list() → shows WS leak at 65% confidence, DB at 26%\n\n4. More evidence, then resolve:\n\n   hypothesis_add_evidence(ws_id, type=\"supporting\",\n     description=\"Fixed WS cleanup, memory stabilized\", weight=0.9)\n\n   hypothesis_resolve(ws_id, resolution=\"confirmed\",\n     final_evidence=\"WS connection cleanup fix reduced memory growth to zero\")\n```\n\n## How the Bayesian Updates Work\n\n- **Supporting evidence** increases confidence proportional to weight and remaining room (can't exceed 0.99)\n- **Contradicting evidence** decreases confidence proportional to weight and current confidence (can't go below 0.01)\n- **Neutral evidence** nudges slightly toward 0.5\n- Confidence is always clamped to `[0.01, 0.99]` — the system never reaches absolute certainty\n\nThe strength factor is 0.6, meaning a single piece of maximum-weight evidence moves confidence ~60% of the theoretical maximum. This prevents any single piece of evidence from being conclusive — you need to accumulate multiple pieces.\n\n## Use Cases\n\n- **Debugging** — track competing theories about what's broken\n- **Architecture decisions** — weigh evidence for/against approaches\n- **Root cause analysis** — systematic elimination with audit trail\n- **Research** — track what you've investigated vs. what's still open\n- **Code review** — hypothesize about potential issues, gather evidence\n\n## Part of Thinking Tools\n\nThis is the standalone version of the Hypothesis Tracker module. For the full suite (61 tools across 8 modules — including Idea Lab, Decision Matrix, Mental Models, and more), check out [Thinking Tools MCP](https://github.com/mordiaky/thinking-tools).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmordiaky%2Fhypothesis-tracker-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmordiaky%2Fhypothesis-tracker-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmordiaky%2Fhypothesis-tracker-mcp/lists"}