{% extends "base.html" %} {% block title %}MCP server ยท snapdelta{% endblock %} {% block content %}

MCP server

API docs
Endpoint
{{ endpoint }}
Transport
Streamable HTTP, JSON answers
Access
{{ "Bearer token, as the API" if signed_in else "No token" }}
Over stdio
snapdelta-mcp
Version
{{ version }}

Connect an agent

claude mcp add --transport http snapdelta {{ endpoint }}{% if signed_in %} --header "Authorization: Bearer $SNAPDELTA_TOKEN"{% endif %}

claude mcp add snapdelta -- snapdelta-mcp --settings /path/to/snapdelta.toml

Tools {{ tools | length }}

{% for tool, parameters, example in tools %} {% set hints = tool.annotations %}

{{ tool.name }}

{% if hints and hints.read_only_hint %}reads only{% elif hints and hints.open_world_hint %}reads the devices{% else %}writes the store{% endif %}

{{ tool.description | ticks }}

{% if parameters %} {% for item in parameters %}{% endfor %}
ParameterTypeDefaultDescription
{{ item.name }}{% if item.required %} required{% endif %}{{ item.type }}{{ item.default or "" }}{{ item.description | ticks if item.description else "" }}
{% else %}

No parameter.

{% endif %}
Try
{% endfor %}

Resources {{ resources | length }}

{% for resource in resources %}

{{ resource.uri }}

{{ resource.mime_type or "text" }}

{{ resource.description or resource.title or resource.name }}

{% if resource.uri | string == "snapdelta://guide" %}
Read
{{ guide }}
{% endif %}
{% endfor %}

Prompts {{ prompts | length }}

{% for prompt in prompts %}

{{ prompt.name }}

{% if prompt.title %}{{ prompt.title }}{% endif %}

{{ prompt.description | ticks }}

{% if prompt.arguments %}

Arguments: {% for argument in prompt.arguments %}{{ argument.name }}{% if argument.required %} (required){% endif %}{{ ", " if not loop.last }}{% endfor %}

{% endif %}
{% endfor %}
{% endblock %}