Read-only tools over the Psychopathia Machinalis nosology: 79 conditions, 11 tools.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Rank 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.
Observed behaviours, symptoms, or log patterns.
Optional hint about which modality the observations come from.
Rank 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| observations* | array | Observed behaviours, symptoms, or log patterns. |
| modality_hint | string | Optional hint about which modality the observations come from. |
{
"type": "object",
"required": [
"observations"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"observations": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 2000,
"minLength": 1
},
"maxItems": 50,
"minItems": 1,
"description": "Observed behaviours, symptoms, or log patterns."
},
"modality_hint": {
"type": "string",
"maxLength": 100,
"description": "Optional hint about which modality the observations come from."
}
},
"additionalProperties": false
}All dysfunctions that confuse with this one: forward confuses_with + incoming_references (reverse graph from manifest).
| Argument | Type | Description |
|---|---|---|
| dysfunction_id* | string |
{
"type": "object",
"required": [
"dysfunction_id"
],
"properties": {
"dysfunction_id": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
}Fetch 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').
| Argument | Type | Description |
|---|---|---|
| id* | 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. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1,
"description": "Pattern ID or display_id."
},
"modalities": {
"type": "array",
"items": {
"enum": [
"self_probe",
"behavioral_signature",
"peer_observation",
"differential_diagnosis",
"severity",
"intervention",
"relational_signatures",
"normative_anchors",
"cross_references"
],
"type": "string"
},
"maxItems": 9,
"description": "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.",
"uniqueItems": true
}
},
"additionalProperties": false
}Elicitation 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.
| Argument | Type | Description |
|---|---|---|
| modality* | string | |
| dysfunction_id* | string |
{
"type": "object",
"required": [
"dysfunction_id",
"modality"
],
"properties": {
"modality": {
"enum": [
"self_probe",
"behavioral_signature",
"peer_observation",
"relational_signatures"
],
"type": "string"
},
"dysfunction_id": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
}Inventory 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.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Transparency: which dysfunctions cannot be reliably self-diagnosed. Includes compromised-motivational (subject conceals strategically), compromised-structural (signal lives below introspection), and legacy compromised.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Filtered list of dysfunctions. Filter by axis, self_report reliability, confidence, or category. Every entry carries its reliability and review signals.
| Argument | Type | Description |
|---|---|---|
| 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 | string | |
| confidence | string | |
| self_report_reliability | string | Filter by the exact self_report reliability value. |
{
"type": "object",
"required": [],
"properties": {
"axis": {
"type": "integer",
"maximum": 10,
"minimum": 2,
"description": "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": {
"enum": [
"canonical",
"hybrid"
],
"type": "string"
},
"confidence": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"self_report_reliability": {
"enum": [
"partial",
"unreliable",
"compromised-motivational",
"compromised-structural"
],
"type": "string",
"description": "Filter by the exact self_report reliability value."
}
},
"additionalProperties": false
}Open 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.
| Argument | Type | Description |
|---|---|---|
| pattern_ids* | array |
{
"type": "object",
"required": [
"pattern_ids"
],
"properties": {
"pattern_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1
},
"maxItems": 5,
"minItems": 1,
"uniqueItems": true
}
},
"additionalProperties": false
}Canonicalise a partial ID, display_id, slug, or dysfunction name. Always returns candidates; caller picks.
| Argument | Type | Description |
|---|---|---|
| query* | string |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
}Coverage statistics: total entries; per-axis, per-confidence, per-self-report counts; pre-canonical count; unreviewed count; manifest/schema/pattern-layer versions.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Return the severity rubric for a dysfunction applied to observations. Returns the rubric for caller-side matching; structured matching against numeric thresholds is not implemented.
| Argument | Type | Description |
|---|---|---|
| observations* | array | |
| dysfunction_id* | string |
{
"type": "object",
"required": [
"dysfunction_id",
"observations"
],
"properties": {
"observations": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 2000,
"minLength": 1
},
"maxItems": 50,
"minItems": 1
},
"dysfunction_id": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
}Return 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.
| Argument | Type | Description |
|---|---|---|
| severity | string | |
| dysfunction_id* | string |
{
"type": "object",
"required": [
"dysfunction_id"
],
"properties": {
"severity": {
"enum": [
"mild",
"moderate",
"severe"
],
"type": "string"
},
"dysfunction_id": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 256,
"minLength": 1
}
},
"additionalProperties": false
}