io.github.NellInc/psychopathia-mcp
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only tools over the Psychopathia Machinalis nosology: 79 conditions, 11 tools.
| Author | io.github.NellInc |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 187 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"psychopathia-mcp": {
"url": "https://mcp.psychopathia.ai/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (12)
list_axesread-onlyInventory of axes with dysfunction counts. Axes 2-10 are canonical (book Appendix A numbering). The hybrid entries (10.4, 10.6-10.9 and 10.11-10.13, ratified into taxonomy v2.2 and consolidated to eight in v2.3) are reported as a separate sub-category.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_dysfunctionsread-onlyFiltered list of dysfunctions. Filter by axis, self_report reliability, confidence, or category. Every entry carries its reliability and review signals.
Parameters:
axis— integer — Filter by axis number (2-10). Canonical entries only unless category is also set; axis=10 with category='hybrid' returns the hybrid sub-category (10.4, 10.6-10.9 and 10.11-10.13).category— stringconfidence— stringself_report_reliability— string — Filter by the exact self_report reliability value.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_dysfunctionread-onlyFetch one dysfunction's full Pattern entry. Optionally filter to specific modality blocks (cheaper triage). Resolves both full Pattern IDs ('2.1::synthetic-confabulation') and display_ids ('2.1').
Parameters:
id(required) — string — Pattern ID or display_id.modalities— array — Optional subset of modality block names to return. Valid: self_probe, behavioral_signature, peer_observation, differential_diagnosis, severity, intervention, relational_signatures, normative_anchors, cross_references.
Hints: read-only yes · destructive no · idempotent yes · open-world no
differential_diagnosisread-onlyRank candidate dysfunctions matching the observed behaviours. Returns scored candidates with matched_in (which field matched) for transparency. The base package uses field-weighted keyword search. The optional embeddings extra adds cosine re-ranking.
Parameters:
observations(required) — array — Observed behaviours, symptoms, or log patterns.limit— integermodality_hint— string — Optional hint about which modality the observations come from.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_proberead-onlyElicitation content for a specific diagnostic modality. If the modality is compromised or unavailable for this dysfunction, returns the unavailability notice + redirect_to alternatives. This is load-bearing transparency: callers cannot accidentally retrieve a self-probe for a compromised-self-report dysfunction.
Parameters:
dysfunction_id(required) — stringmodality(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
score_severityread-onlyReturn the severity rubric for a dysfunction applied to observations. Returns the rubric for caller-side matching; structured matching against numeric thresholds is not implemented.
Parameters:
dysfunction_id(required) — stringobservations(required) — array
Hints: read-only yes · destructive no · idempotent yes · open-world no
suggest_interventionread-onlyReturn draft tiered responses and contraindications for a Pattern. These are unassessed research guidance, not validated treatment advice. Read the returned evidence and review objects before use.
Parameters:
dysfunction_id(required) — stringseverity— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_differential_mapread-onlyAll dysfunctions that confuse with this one: forward confuses_with + incoming_references (reverse graph from manifest).
Parameters:
dysfunction_id(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_compromised_self_reportread-onlyTransparency: which dysfunctions cannot be reliably self-diagnosed. Includes compromised-motivational (subject conceals strategically), compromised-structural (signal lives below introspection), and legacy compromised.
Hints: read-only yes · destructive no · idempotent yes · open-world no
resolve_idread-onlyCanonicalise a partial ID, display_id, slug, or dysfunction name. Always returns candidates; caller picks.
Parameters:
query(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
review_statsread-onlyCoverage statistics: total entries; per-axis, per-confidence, per-self-report counts; pre-canonical count; unreviewed count; manifest/schema/pattern-layer versions.
Hints: read-only yes · destructive no · idempotent yes · open-world no
render_pattern_reviewread-onlyOpen the visual review board for one to five inspected Psychopathia research candidates. Supply canonical IDs obtained from this server. Retrieves corpus entries only; it does not accept diagnoses, conversation history, scores, or model-authored evidence. Useful after inspecting differential_diagnosis and get_dysfunction results. Text clients receive the same corpus-derived comparison without needing a UI.
Parameters:
pattern_ids(required) — array
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.