Sign inSign up

mergeapi/merge-agent-handler:latest

Manifest digest

sha256:539a17ea798192666934688a5b652d5902ff195e8a7cd1b5b647704b265b11e8

Last pushed

12 days by mergeapi

Type

Sandbox Kit

Manifest digest

sha256:539a17ea798192666934688a5b652d5902ff195e8a7cd1b5b647704b265b11e8

yaml
schemaVersion: "2"
kind: mixin
name: merge-agent-handler
version: 1.0.1
displayName: Merge Agent Handler
description: Gives a sandboxed agent access to Merge Agent Handler's tool catalog — hundreds of enterprise SaaS tools behind one MCP endpoint — with all third-party credentials held server-side by Agent Handler and the MCP OAuth token held on the host, never in the sandbox.
sourceURL: https://github.com/merge-api/docker-merge-kit
licenses:
    - Apache-2.0
agentInstructions:
    content: |
        ## Merge Agent Handler

        Merge Agent Handler is a single, authenticated gateway to enterprise SaaS
        systems — CRM, HRIS, ATS, ticketing, accounting, file storage, and more —
        exposed as a catalog of tools.

        It reaches you through the sandbox's MCP gateway, so the MCP server you
        see is named `mcp-gateway`, not `merge`. Its tools are named
        `<connector>__<action>`, for example `salesforce__list_accounts` or
        `slack__post_message`.

        ### When to reach for it

        Use Agent Handler whenever a task needs real data or an action in a
        third-party business system rather than in this repository. Typical
        cases: looking up a customer, account, or opportunity; reading or filing
        a ticket; fetching employee or candidate records; posting a message;
        listing or retrieving documents.

        ### Finding the right tool

        **Use `search_tools` first.** Describe what you want to accomplish in its
        `intent` argument. Do not start by listing every tool: the full catalog
        runs to thousands of tools, and a plain tool listing shows only the subset
        already granted to this account.

        `search_tools` returns two groups, and the difference matters:

        - `tools` — granted to this account. You can call these now.
        - `requestable_tools` — real tools that exist but this account cannot
          currently use. They are not missing capabilities.

        So a connector absent from the tool list is not proof the capability does
        not exist. If what you need is in `requestable_tools`, you can call
        `request_tool_access` for it, but the request stays pending until an
        administrator approves it — so tell the user rather than waiting on it.

        A tool returning `reauth_required` means that connector is simply not
        linked yet on the Agent Handler side. Report that; do not try to
        authenticate it yourself.

        Never guess tool names.

        ### Do not authenticate to third-party systems yourself

        Agent Handler holds the credentials for every downstream system and
        brokers the calls on your behalf. You are already authenticated through
        it.

        Because of that:

        - Do not look for, ask the user for, or use API keys, OAuth tokens,
          passwords, or session cookies for Salesforce, Slack, Workday, or any
          other downstream system.
        - Do not try to call those systems' APIs directly. This sandbox's network
          policy only permits `ah-api.merge.dev`, so such attempts will fail — and
          the correct fix is to find the right Agent Handler tool, not to request
          wider network access.
        - Do not attempt to read or exfiltrate the Agent Handler OAuth token. It
          is held on the host, outside this sandbox, by design.

        If a system you need is not in the tool catalog, say so and stop rather
        than routing around Agent Handler.
permissions:
    network:
        allow:
            - ah-api.merge.dev:443