{% extends "base.html" %} {% block title %}Connect {{ entry.name }}{% endblock %} {% block body %}

Connect a client

Connect {{ entry.name }}

The first way is the quickest. Each connection shows up on the Agents page, where you can limit or revoke it.

{% if token %} {% endif %} {% for ch in channels if (token and ch.needs_token) or (not token and not ch.needs_token) %}

{{ ch.label }}

{% if ch.confidence == 'unverified' %}untested{% endif %}
{% if ch.type == 'link' %}

{{ ch.label }}

Show the link
{{ ch.text }}
{% elif ch.type == 'command' %}
{{ ch.text }}
{% elif ch.type == 'file' %}

Add this to {{ ch.path.all or ch.path.macos }}{% if ch.path.windows and ch.path.windows != ch.path.macos %} (Windows: {{ ch.path.windows }}){% endif %}{% if ch.format == 'json' %}, merging it with what is already there{% endif %}:

{{ ch.text }}
{% else %}
    {% for step in ch.steps %}
  1. {{ step }}
  2. {% endfor %}
{% if ch.text %}
{{ ch.text }}
{% endif %} {% endif %} {% if ch.note %}

{{ ch.note }}

{% endif %}
{% endfor %} {% if not token and channels|selectattr('needs_token')|list %}

{{ 'Or use a token' if entry.oauth else 'Create a token' }}

{% if entry.oauth %}For setups that cannot sign in through a browser.{% else %}{{ entry.name }} cannot sign in to MCP servers, so it uses a token.{% endif %} The token is shown once, filled into the steps for {{ entry.name }}.

Needs a fresh check that it’s you.
{% endif %}

Sources, checked {{ entry.verified }}: {% for s in entry.sources %}{{ loop.index }}{{ ' ' if not loop.last }}{% endfor %}

{% endblock %}