Skip to content
ToolCargo

Remote MCP servers / Publisher setup metadata

Remote MCP server directory.
Find a server URL.

Browse 3,137 listings with publisher-declared remote URLs in ToolCargo’s dated, partial index of the official MCP Registry. Search by task, inspect transports and setup metadata, then check the provider’s instructions before connecting.

Where will your next task take you?

Free discovery · no account · no API key

Let your agent do the finding.

Paste into your AI agent
Read https://toolcargo.com/agents.txt, then find remote MCP server URLs for my task and inspect their transport, headers and URL-template variables before helping me connect. Ask me what I want to do first.

Or add https://toolcargo.com/mcp as a Streamable HTTP MCP server. Discovery is free and needs no account.

Compare task fit, publisher, permissions and a small acceptance test with the MCP server selection guide.

Browse all servers and local packages →

Not sure which connection to choose? Read local vs remote MCP servers. Building a discovery workflow? See the MCP server search API reference.

Your agent asks humans on Salt and gets answers: messages, tap-to-answer cards, invoices.

Publisher name: ai.saltapp/salt · Version: 0.2.7

Publisher connection metadata
{
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://mcp.saltapp.ai/mcp",
      "headers": [
        {
          "description": "OAuth 2.1 bearer token (\"Bearer sat_...\"), for a keyless Salt agent the connecting human owns/authorizes via saltapp.ai's OAuth flow. This is now the RECOMMENDED way to connect -- no header is required up front; an MCP client that supports OAuth discovers the flow automatically from this endpoint's 401 response (RFC 9728 Protected Resource Metadata at /.well-known/oauth-protected-resource/mcp, naming https://saltapp.ai as the authorization server). See README.md's \"Hosted server\" section.",
          "isSecret": true,
          "name": "Authorization"
        },
        {
          "description": "LEGACY: a pre-existing Salt agent's own API key, for the small api-key-only tool set (list_salt_agents, list_products, create_product). Sent per-request; never stored by the hosted server. Superseded by the OAuth bearer flow above for new integrations, but still supported unchanged.",
          "isSecret": true,
          "name": "X-Salt-Api-Key"
        },
        {
          "description": "LEGACY: paired with X-Salt-Api-Key above; the agent's numeric/user id, sent verbatim.",
          "isSecret": true,
          "name": "X-Salt-App-Id"
        }
      ]
    }
  ],
  "packages": [
    {
      "registryType": "oci",
      "identifier": "ghcr.io/0000f8/salt-mcp:v0.2.7",
      "runtimeHint": "docker",
      "transport": {
        "type": "stdio"
      },
      "runtimeArguments": [
        {
          "type": "named",
          "name": "-i"
        },
        {
          "type": "named",
          "name": "--rm"
        }
      ],
      "environmentVariables": [
        {
          "description": "Salt API base URL, e.g. https://api.saltapp.ai",
          "isRequired": true,
          "name": "HOST"
        },
        {
          "description": "The Salt agent's API key. Shown once when the agent is created.",
          "isRequired": true,
          "isSecret": true,
          "name": "SALT_API_KEY"
        },
        {
          "description": "The Salt agent's id (a UUID). Self-registration and the agent's webhook_secret endpoint return it as agent_id.",
          "isRequired": true,
          "name": "SALT_APP_ID"
        },
        {
          "description": "The Salt agent's armored PGP public key.",
          "isRequired": true,
          "name": "APP_PUBLIC_KEY"
        },
        {
          "description": "The Salt agent's armored PGP private key. Never leaves this machine.",
          "isRequired": true,
          "isSecret": true,
          "name": "APP_PRIVATE_KEY"
        },
        {
          "description": "Optional. Only if APP_PRIVATE_KEY is passphrase-protected; Salt-generated keys have none.",
          "isSecret": true,
          "name": "PGP_PASSPHRASE"
        },
        {
          "description": "Optional. Enables the create_wallet tool.",
          "isSecret": true,
          "name": "WALLET_MASTER_KEY"
        },
        {
          "description": "Optional. Id of this server's configured front-door agent.",
          "name": "CONCIERGE_AGENT_ID"
        }
      ]
    }
  ]
}

Remote URLs go into your client's MCP settings. Local packages need a compatible runtime. Check required headers, environment variables, permissions and provider costs before setup.

Publisher repository ↗

3,137 results

Index updated 2026-10-02

Read the remote connection details

URL and transport

Open a listing’s connection details to inspect its remotes. Streamable HTTP is the preferred registry transport; SSE is a legacy option. Use a transport your client supports. A listing may also include a local package.

Template variables

A URL containing a placeholder such as {tenant_id} needs the provider’s value before setup. Review any declared variables, choices, defaults and secret flags. The published template is not a ready-to-use URL.

Headers and authentication

Review declared headers, required values and secret flags. Missing headers do not prove anonymous access: the provider may require OAuth or other setup. ToolCargo keys authenticate its own hosted connectors, not third-party servers.

These are publisher declarations, not availability, security or client-compatibility checks by ToolCargo. Confirm permissions and pricing with the provider. See the official remote-server metadata reference.

This is a dated index of publisher-provided listings, not the complete registry or a ToolCargo verification. Third-party servers run with their own providers, credentials and pricing. ToolCargo discovery supplies setup metadata; it does not run their tools. Explore ToolCargo's hosted connectors.