Koskamo

Zicron Medical Chronology MCP

An official MCP server by Zicron that allows AI agents to request medical chronologies, get pricing quotes, retrieve samples, and access SSDI pilot information for law firms and legal nurse consultants without requiring authentication for public tools.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Zicron Medical Chronology MCP logo, by ZicronVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Zicron
MCP endpoint (Streamable HTTP)
https://claims.zicron.ai/mcp
Vendor documentation

What its tools do

5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (1)

5 of 5 have a description · 5 of 5 declare behavior hints · 2 of 2 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to claims.zicron.ai ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Request a medical chronology for a legal case
  • Get a price quote based on document page count
  • Retrieve a sample medical chronology
  • Access SSDI intake scoring pilot information

Source and maintenance

Vendor evidenceRegistry 1.2.0

Protocol and capabilities

Server
zicron-medical-chronology 1.2.0
MCP protocol negotiated in check
2025-11-25
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Zicron AI turns medical records into page-cited work product for legal and claims teams. This public server needs no sign-in and accepts no patient information. It describes Zicron's done-for-you medical chronology (a case summary plus one timeline across every provider, each entry cited to its page, in 48 hours, $450 per case up to 1,000 pages, first case refundable if it isn't usable), quotes a price, shows a sample and sends a contact request. Start with get_offer. To work on records inside a Zicron account (create a case, upload records through signed upload links, generate and read the page-cited chronology, or score SSDI, SSI, VA, workers' comp, PI, LTD and hospice claims), the user connects the account server at https://claims.zicron.ai/agent/mcp, which signs in with OAuth: in Claude, add it as a custom connector (Settings → Connectors); in ChatGPT, as a connector in developer mode. This server cannot do that. Medical facts only; no standard-of-care, causation or damages opinions. Price for a page count: quote_chronology. To see the deliverable: get_sample_chronology. To send a case: request_chronology, only after the user asks and agrees to be emailed (confirmed_by_user=true); it creates a contact request, not an order, and a person replies within one business day with a firm quote and a secure upload link. Never send medical records or patient details through these tools; records go only through that secure link. For SSDI law firms only: get_ssdi_pilot_info.

Tools

5 advertised

get_offer — Get Zicron's medical chronology offer
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns Zicron's done-for-you medical chronology service: what is delivered (case summary plus an all-provider timeline with a page citation on every entry), who it is for (plaintiff PI, med-mal and nursing-home firms, and legal nurse consultants), the published price per case and per page, first-case discount and refund guarantee, the wholesale offer for LNCs, 48-hour turnaround, scope limits (medical facts only; no standard-of-care, causation or damages opinions), security practices and how to start. Use this when a user asks what Zicron does, what a chronology from Zicron includes, or whether it fits their case. Read-only; no side effects. If the user already has records and a Zicron account, tell them to connect https://claims.zicron.ai/agent/mcp (OAuth) instead of requesting a chronology here.

get_offer input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_offer output schema
{
  "type": "object",
  "properties": {
    "for": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Who the service is for."
    },
    "urls": {
      "type": "object",
      "description": "Pages for humans."
    },
    "error": {
      "type": "object",
      "properties": {
        "why": {
          "type": "string",
          "description": "What was wrong."
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Per-field problems."
        },
        "reason": {
          "enum": [
            "input_invalid",
            "phi_rejected",
            "rate_limited",
            "idempotency_key_reused",
            "unavailable"
          ],
          "type": "string"
        },
        "outcome": {
          "enum": [
            "denied",
            "failed"
          ],
          "type": "string"
        },
        "whatToDo": {
          "type": "string",
          "description": "How to fix the call."
        },
        "useInstead": {
          "type": "string",
          "description": "Another tool or route, when one fits."
        }
      },
      "description": "Present only when isError is true: why the call was refused and what to do next."
    },
    "price": {
      "type": "object",
      "description": "Published price: per_case, included_pages, per_page_over_included, first_case_discount_percent, examples."
    },
    "scope": {
      "type": "object",
      "description": "What is included and excluded (no standard-of-care, causation or damages opinions)."
    },
    "service": {
      "type": "string",
      "description": "The service offered."
    },
    "summary": {
      "type": "string",
      "description": "What is delivered."
    },
    "provider": {
      "type": "object",
      "description": "Who provides the service and how to reach them."
    },
    "security": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Security practices."
    },
    "corrections": {
      "type": "string",
      "description": "Correction policy."
    },
    "deliverables": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What the chronology contains."
    },
    "how_to_start": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Steps to start a case."
    },
    "honesty_notes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Limits to state plainly to the user."
    },
    "offer_version": {
      "type": "string",
      "description": "Price list version."
    },
    "records_policy": {
      "type": "string",
      "description": "Where records may and may not be sent."
    },
    "for_lnc_partners": {
      "type": "object",
      "description": "Wholesale offer for legal nurse consultants."
    },
    "turnaround_hours": {
      "type": "integer",
      "description": "Turnaround in hours."
    },
    "turnaround_starts": {
      "type": "string",
      "description": "When the turnaround clock starts."
    },
    "first_case_guarantee": {
      "type": "string",
      "description": "The first-case refund guarantee."
    },
    "first_case_refund_window_days": {
      "type": "integer",
      "description": "Days to ask for the first-case refund."
    }
  },
  "additionalProperties": true
}
get_offer annotations
{
  "title": "Get Zicron's medical chronology offer",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
quote_chronology — Quote a medical chronology by page count
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes the price of a Zicron medical chronology from the approximate page count of the record set, using the published list price, and returns the breakdown (base price, pages over the included amount, first-case discount, total) and the turnaround. Deterministic; read-only; no side effects and nothing is ordered. Use this when a user asks what a chronology for N pages would cost. The result is an estimate: Zicron confirms the page count and price in writing before any work starts.

quote_chronology input schema
{
  "type": "object",
  "required": [
    "pages"
  ],
  "properties": {
    "pages": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 1,
      "description": "Approximate total number of pages in the medical record set."
    },
    "first_case": {
      "type": "boolean",
      "default": false,
      "description": "True if this would be the requester's first case with Zicron (first case is half price)."
    }
  },
  "additionalProperties": true
}
quote_chronology output schema
{
  "type": "object",
  "properties": {
    "firm": {
      "type": "boolean",
      "const": false,
      "description": "Always false: an estimate, confirmed in writing before work starts."
    },
    "note": {
      "type": "string",
      "description": "How to present the estimate."
    },
    "basis": {
      "enum": [
        "published_list_price"
      ],
      "type": "string"
    },
    "error": {
      "type": "object",
      "properties": {
        "why": {
          "type": "string",
          "description": "What was wrong."
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Per-field problems."
        },
        "reason": {
          "enum": [
            "input_invalid",
            "phi_rejected",
            "rate_limited",
            "idempotency_key_reused",
            "unavailable"
          ],
          "type": "string"
        },
        "outcome": {
          "enum": [
            "denied",
            "failed"
          ],
          "type": "string"
        },
        "whatToDo": {
          "type": "string",
          "description": "How to fix the call."
        },
        "useInstead": {
          "type": "string",
          "description": "Another tool or route, when one fits."
        }
      },
      "description": "Present only when isError is true: why the call was refused and what to do next."
    },
    "pages": {
      "type": "integer",
      "description": "Page count quoted."
    },
    "total": {
      "type": "number",
      "description": "Estimated total, USD."
    },
    "currency": {
      "enum": [
        "USD"
      ],
      "type": "string"
    },
    "subtotal": {
      "type": "number",
      "description": "base_price + overage_price, USD."
    },
    "next_step": {
      "type": "string",
      "description": "How to go ahead."
    },
    "base_price": {
      "type": "number",
      "description": "Per-case price, USD."
    },
    "first_case": {
      "type": "boolean",
      "description": "Whether the first-case discount was applied."
    },
    "offer_version": {
      "type": "string",
      "description": "Price list version that produced the quote."
    },
    "overage_price": {
      "type": "number",
      "description": "Pages over the included amount times the per-page rate, USD."
    },
    "ignored_fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Argument names that were not used."
    },
    "included_pages": {
      "type": "integer",
      "description": "Pages included in the per-case price."
    },
    "first_case_total": {
      "type": "number",
      "description": "What the total would be as a first case (half price), USD."
    },
    "turnaround_hours": {
      "type": "integer",
      "description": "Turnaround once the complete record set is uploaded."
    },
    "first_case_discount": {
      "type": "number",
      "description": "Discount applied, USD."
    },
    "pages_over_included": {
      "type": "integer",
      "description": "Pages billed at the per-page rate."
    }
  },
  "additionalProperties": true
}
quote_chronology annotations
{
  "title": "Quote a medical chronology by page count",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
request_chronology — Request a medical chronology (contact request, no records)
Advertised by the server during the last successful anonymous check.
Open-world

Sends Zicron a request to prepare a medical chronology for a case, on behalf of the attorney, legal nurse consultant or paralegal you are helping. It creates a contact request only: nothing is ordered or charged, and a person at Zicron replies by email within one business day with a firm quote and a secure upload link for the records. NEVER include medical records, patient names, dates of birth, record numbers, diagnoses or any other patient information; describe the case only by type, rough page count and deadline. Requests that look like they contain patient information are rejected. Only call this after the user has asked for it and agreed that Zicron may email them, then set confirmed_by_user=true. Use dry_run=true to validate the fields and see the quote without sending anything. Retrying with the same details (or the same idempotency_key) returns the original request instead of creating a duplicate.

request_chronology input schema
{
  "type": "object",
  "required": [
    "requester_name",
    "requester_email",
    "requester_role",
    "case_type",
    "confirmed_by_user"
  ],
  "properties": {
    "notes": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional short note about the case in general terms (e.g. \"two hospitals and a rehab facility, need it before a mediation\"). Max 500 characters. No patient names, dates of birth, diagnoses or record content."
    },
    "phone": {
      "type": "string",
      "maxLength": 40,
      "description": "Requester's phone number (optional)."
    },
    "dry_run": {
      "type": "boolean",
      "default": false,
      "description": "If true, validate and return the estimate without sending the request."
    },
    "deadline": {
      "type": "string",
      "format": "date",
      "description": "When the chronology is needed back, as YYYY-MM-DD, e.g. 2026-11-15 (optional)."
    },
    "case_type": {
      "enum": [
        "personal_injury",
        "medical_malpractice",
        "nursing_home",
        "workers_comp",
        "other"
      ],
      "type": "string",
      "description": "Type of case the chronology is for."
    },
    "firm_name": {
      "type": "string",
      "maxLength": 160,
      "description": "Law firm or LNC business name (optional)."
    },
    "agent_name": {
      "type": "string",
      "maxLength": 80,
      "description": "Name of the AI assistant or agent making this request (e.g. \"Claude\", \"ChatGPT\"). Optional."
    },
    "is_first_case": {
      "type": "boolean",
      "default": true,
      "description": "Whether this is the requester's first case with Zicron (half price). Defaults to true."
    },
    "requester_name": {
      "type": "string",
      "maxLength": 120,
      "description": "Name of the attorney, LNC or staff member Zicron should reply to. Not the patient."
    },
    "requester_role": {
      "enum": [
        "legal_nurse_consultant",
        "lnc_firm",
        "pi_attorney",
        "medmal_attorney",
        "nursing_home_attorney",
        "paralegal",
        "other"
      ],
      "type": "string",
      "description": "The requester's role."
    },
    "estimated_pages": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 1,
      "description": "Approximate total page count of the records (optional; used for the estimate)."
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional key; repeating a call with the same key and details returns the original request."
    },
    "requester_email": {
      "type": "string",
      "format": "email",
      "maxLength": 254,
      "description": "Email address Zicron should reply to with the quote and secure upload link."
    },
    "confirmed_by_user": {
      "type": "boolean",
      "description": "Must be true: set only after the person you act for has asked for this and agreed Zicron may email them. Not required when dry_run is true."
    }
  },
  "additionalProperties": false
}
request_chronology output schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "why": {
          "type": "string",
          "description": "What was wrong."
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Per-field problems."
        },
        "reason": {
          "enum": [
            "input_invalid",
            "phi_rejected",
            "rate_limited",
            "idempotency_key_reused",
            "unavailable"
          ],
          "type": "string"
        },
        "outcome": {
          "enum": [
            "denied",
            "failed"
          ],
          "type": "string"
        },
        "whatToDo": {
          "type": "string",
          "description": "How to fix the call."
        },
        "useInstead": {
          "type": "string",
          "description": "Another tool or route, when one fits."
        }
      },
      "description": "Present only when isError is true: why the call was refused and what to do next."
    },
    "quote": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "firm": {
              "type": "boolean",
              "const": false,
              "description": "Always false: an estimate, confirmed in writing before work starts."
            },
            "note": {
              "type": "string",
              "description": "How to present the estimate."
            },
            "basis": {
              "enum": [
                "published_list_price"
              ],
              "type": "string"
            },
            "pages": {
              "type": "integer",
              "description": "Page count quoted."
            },
            "total": {
              "type": "number",
              "description": "Estimated total, USD."
            },
            "currency": {
              "enum": [
                "USD"
              ],
              "type": "string"
            },
            "subtotal": {
              "type": "number",
              "description": "base_price + overage_price, USD."
            },
            "next_step": {
              "type": "string",
              "description": "How to go ahead."
            },
            "base_price": {
              "type": "number",
              "description": "Per-case price, USD."
            },
            "first_case": {
              "type": "boolean",
              "description": "Whether the first-case discount was applied."
            },
            "offer_version": {
              "type": "string",
              "description": "Price list version that produced the quote."
            },
            "overage_price": {
              "type": "number",
              "description": "Pages over the included amount times the per-page rate, USD."
            },
            "included_pages": {
              "type": "integer",
              "description": "Pages included in the per-case price."
            },
            "turnaround_hours": {
              "type": "integer",
              "description": "Turnaround once the complete record set is uploaded."
            },
            "first_case_discount": {
              "type": "number",
              "description": "Discount applied, USD."
            },
            "pages_over_included": {
              "type": "integer",
              "description": "Pages billed at the per-page rate."
            }
          }
        },
        {
          "type": "null"
        }
      ],
      "description": "Estimate when estimated_pages was given."
    },
    "status": {
      "enum": [
        "valid_not_sent",
        "received"
      ],
      "type": "string",
      "description": "valid_not_sent for a dry run; received once sent."
    },
    "contact": {
      "type": "string",
      "description": "Contact email."
    },
    "dry_run": {
      "type": "boolean",
      "description": "True when nothing was sent."
    },
    "message": {
      "type": "string",
      "description": "What happened, to relay to the user."
    },
    "duplicate": {
      "type": "boolean",
      "description": "True when this request was already received; no duplicate was created."
    },
    "request_id": {
      "type": "string",
      "description": "Zicron's reference for the request."
    },
    "records_policy": {
      "type": "string",
      "description": "Where records may and may not be sent."
    },
    "what_happens_next": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The steps after the request."
    }
  },
  "additionalProperties": true
}
request_chronology annotations
{
  "title": "Request a medical chronology (contact request, no records)",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sample_chronology — Get a sample Zicron medical chronology
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns links to a sample Zicron medical chronology built from a fictional case (no real patient data): a page for humans and a direct PDF link, plus the sections it contains. Use this when a user wants to see what the deliverable looks like before sending a case. Read-only; no side effects.

get_sample_chronology input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_sample_chronology output schema
{
  "type": "object",
  "properties": {
    "note": {
      "type": "string",
      "description": "How the links behave."
    },
    "error": {
      "type": "object",
      "properties": {
        "why": {
          "type": "string",
          "description": "What was wrong."
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Per-field problems."
        },
        "reason": {
          "enum": [
            "input_invalid",
            "phi_rejected",
            "rate_limited",
            "idempotency_key_reused",
            "unavailable"
          ],
          "type": "string"
        },
        "outcome": {
          "enum": [
            "denied",
            "failed"
          ],
          "type": "string"
        },
        "whatToDo": {
          "type": "string",
          "description": "How to fix the call."
        },
        "useInstead": {
          "type": "string",
          "description": "Another tool or route, when one fits."
        }
      },
      "description": "Present only when isError is true: why the call was refused and what to do next."
    },
    "title": {
      "type": "string",
      "description": "Sample title."
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sections in the sample."
    },
    "provenance": {
      "enum": [
        "synthetic"
      ],
      "type": "string"
    },
    "offer_version": {
      "type": "string",
      "description": "Price list version."
    },
    "sample_pdf_url": {
      "type": "string",
      "description": "Direct PDF link."
    },
    "provenance_note": {
      "type": "string",
      "description": "The sample is a fictional case."
    },
    "sample_page_url": {
      "type": "string",
      "description": "Page for humans."
    },
    "recommended_link_for_humans": {
      "type": "string",
      "description": "The link to give a person."
    }
  },
  "additionalProperties": true
}
get_sample_chronology annotations
{
  "title": "Get a sample Zicron medical chronology",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_ssdi_pilot_info — Get Zicron's SSDI intake-scoring pilot for firms
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns Zicron's 30-day SSDI intake-scoring pilot for SSDI representation and intake firms: what it does (rule-based scoring of leads against SSA's five-step evaluation with page-cited findings), price, what is included, limits, and how to request it. Use this only for law firms or intake operations handling SSDI claims. It is not for individual claimants seeking help with their own claim; Zicron does not represent claimants. Read-only; no side effects.

get_ssdi_pilot_info input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_ssdi_pilot_info output schema
{
  "type": "object",
  "properties": {
    "for": {
      "type": "string",
      "description": "Who it is for."
    },
    "url": {
      "type": "string",
      "description": "Page for humans."
    },
    "error": {
      "type": "object",
      "properties": {
        "why": {
          "type": "string",
          "description": "What was wrong."
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Per-field problems."
        },
        "reason": {
          "enum": [
            "input_invalid",
            "phi_rejected",
            "rate_limited",
            "idempotency_key_reused",
            "unavailable"
          ],
          "type": "string"
        },
        "outcome": {
          "enum": [
            "denied",
            "failed"
          ],
          "type": "string"
        },
        "whatToDo": {
          "type": "string",
          "description": "How to fix the call."
        },
        "useInstead": {
          "type": "string",
          "description": "Another tool or route, when one fits."
        }
      },
      "description": "Present only when isError is true: why the call was refused and what to do next."
    },
    "pilot": {
      "type": "object",
      "description": "Price, term and what is included."
    },
    "limits": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Limits to state plainly."
    },
    "not_for": {
      "type": "string",
      "description": "Who it is not for."
    },
    "service": {
      "type": "string",
      "description": "The service offered."
    },
    "summary": {
      "type": "string",
      "description": "What the pilot does."
    },
    "how_to_start": {
      "type": "string",
      "description": "How to request the pilot."
    },
    "offer_version": {
      "type": "string",
      "description": "Price list version."
    }
  },
  "additionalProperties": true
}
get_ssdi_pilot_info annotations
{
  "title": "Get Zicron's SSDI intake-scoring pilot for firms",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
677 ms
95th percentile latency
677 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 677 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zicron-medical-chronology-mcp https://claims.zicron.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zicron-medical-chronology-mcp --url https://claims.zicron.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zicron-medical-chronology-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zicron-medical-chronology-mcp": {
      "url": "https://claims.zicron.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zicron-medical-chronology-mcp": {
      "type": "streamableHttp",
      "url": "https://claims.zicron.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zicron-medical-chronology-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zicron-medical-chronology-mcp": {
      "type": "http",
      "url": "https://claims.zicron.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zicron-medical-chronology-mcp https://claims.zicron.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://claims.zicron.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zicron-medical-chronology-mcp": {
      "serverUrl": "https://claims.zicron.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Zicron Medical Chronology MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Zicron Medical Chronology MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing