DermLiving
All posts

Agents4 min readBy DermLiving

Giving AI agents dermatology tools over MCP

Five read-only tools, scoped like the REST API and served from one remote MCP endpoint. How an agent finds them, calls them and gets cited answers back.

In short

DermLiving serves five read-only tools to AI agents over the Model Context Protocol at api.dermliving.com/mcp: search conditions, get a condition, map terminology, search evidence and ask for a grounded answer. Each call runs through the same gateway as the REST API, with the same scopes, rate limits and abstentions.

An agent that answers questions about skin needs more than a model. It needs tools that return structured, cited knowledge, and it needs those tools to refuse the things it should not do. DermLiving offers both through the Model Context Protocol, an open protocol for connecting AI applications to tools and data.

One endpoint, no install

The tools are served remotely at https://api.dermliving.com/mcp, over MCP's streamable HTTP transport. There is nothing to install and no key to request. Add the endpoint to any client that supports remote MCP servers:

json
{  "mcpServers": {    "dermliving": { "type": "http", "url": "https://api.dermliving.com/mcp" }  }}

The endpoint is stateless, answers in JSON and supports MCP protocol versions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05. Its test suite drives it with the official MCP TypeScript client.

The five tools

ToolWhat it doesScope
search_conditionsFinds conditions by name, synonym or codeconditions:read
get_conditionFetches a structured condition recordconditions:read
map_terminologyResolves text or codes to concepts, flagging ambiguityterminology:read
search_evidenceRetrieves ranked passages with provenanceevidence:read
ask_knowledgeAnswers with claim-level citations, or abstainsknowledge:query

Every tool is read-only and declares no side effects: none of them changes anything. Each tool publishes a JSON Schema for its arguments, and arguments that break it are refused before anything runs.

What a call looks like

Under the client, a tool call is one JSON-RPC request. You can send one by hand:

bash
curl https://api.dermliving.com/mcp \  -H 'content-type: application/json' \  -H 'accept: application/json, text/event-stream' \  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "map_terminology", "arguments": {"text": "eczema"}}}'

The result arrives twice: as text for the model to read, and as structuredContent for code. Here is the structured part, shortened to the first candidate:

json
{  "trace_id": "trc_ZvmoI6N4LC",  "knowledge_version": "kv_2026_10_01",  "result": {    "input": "eczema",    "ambiguous": true,    "note": "Lay umbrella term. Confirm the intended concept.",    "candidates": [      { "concept_id": "cond_atopic_dermatitis", "name": "Atopic dermatitis", "match": "lay_term", "score": 0.81 }    ]  }}

The ambiguous flag is the tool telling the agent to ask before it acts. What does eczema mean? explains why.

The same rules as the REST API

The MCP endpoint is not a second implementation. Each tool call goes through the same gateway as POST /v1/agent-tools/execute, with the caller's own credential:

  • Scopes: a tool runs only when the caller holds its scope. Callers without a key get the sandbox's scopes, which cover all five tools.
  • Rate limits: the same limits as the REST API, counted per caller.
  • Abstentions: ask_knowledge refuses clinical decisions and patient data exactly as POST /v1/knowledge/ask does, with the same reason codes.
  • Tracing: every result carries a trace id and the knowledge version it read, so an answer can be traced back to the call that produced it.

Beyond MCP

Agents that prefer plain HTTP can use the REST API, described in OpenAPI 3.1. The API also publishes /.well-known/agents.json at api.dermliving.com, and the website publishes llms.txt for models reading the docs. All of them describe the same ten routes and five tools.

Like the REST API, the MCP endpoint serves the synthetic sandbox today. Its answers show the format and the boundaries, not clinical content.

Questions

Do I need an API key to use the DermLiving MCP endpoint?

No. The endpoint serves the keyless synthetic sandbox. Requests without a key are rate limited per client address and may use all five tools.

Which MCP clients work with DermLiving?

Any client that supports remote MCP servers over streamable HTTP. The endpoint is tested with the official MCP TypeScript client.

Can the tools change data or take actions?

No. All five tools are read-only and have no side effects. They search, fetch, map and answer.

Which MCP protocol versions are supported?

2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05. A request that names any other version gets a clear error that lists these.

Will the MCP tools diagnose a skin condition?

No. The ask_knowledge tool abstains on clinical decisions and on input that holds patient identifiers, exactly as the REST API does.

Sources

  1. Model Context Protocol specification, version 2025-11-25, Model Context Protocol
  2. Transports: streamable HTTP, Model Context Protocol
  3. DermLiving MCP server docs, DermLiving

Start in the sandbox.

The whole API on synthetic data. No key, no card, no patient data.