From agent-port
Use when connecting to AgentPort as a native MCP client — the StreamableHTTP endpoint, the `{integration}__{tool}` naming convention, and how approval-required and denied responses come back over MCP. Read agentport-overview first.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-port:agentport-mcpThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read **agentport-overview** first. This skill covers what's specific to reaching AgentPort as a native MCP client.
Read agentport-overview first. This skill covers what's specific to reaching AgentPort as a native MCP client.
AgentPort exposes a single StreamableHTTP MCP endpoint at https://ap.skaldlabs.io/mcp for the Cloud version and a custom domain for self-hosted deploys. Point your MCP client at that URL. Authentication is handled at the MCP transport layer (OAuth or API key), and once you're connected, every installed integration's tools show up in the aggregated tools/list response.
You do not open a separate connection per integration. AgentPort fans out internally.
Tools are namespaced so that multiple integrations can expose tools with the same underlying name without colliding:
{integration}__{tool}
The separator is a double underscore. Examples:
github__list_issuesposthog__get_eventsstripe__create_chargeresend__send_emailWhen you see a tool in the aggregated list, the prefix tells you which integration it belongs to. Use the exact name, underscores and all, when you call the tool.
additional_infoAgentPort injects an extra optional property named additional_info (string) into every tool's inputSchema. It is not part of the upstream tool's real arguments and is not forwarded to the vendor — AgentPort strips it before proxying. It is stored in the audit log and shown to any human who reviews the call (especially on approval-gated tools). Include it on every call.
A good additional_info answers two questions for a reviewer who sees the call without your conversation context:
create_refund".One sentence is usually enough.
Many tool arguments are vendor IDs that mean nothing on their own: cus_OaBc…, Gmail message IDs, PostHog dashboard IDs, Slack channel IDs, Stripe invoice IDs. A reviewer cannot safely approve a call whose target is only identified by a random-looking string.
When an argument is an opaque ID, make it verifiable inside additional_info:
cus_OaBc… → https://dashboard.stripe.com/customers/cus_OaBc…42 → https://us.posthog.com/dashboard/42#417 in owner/repo → https://github.com/owner/repo/issues/417<id> → https://mail.google.com/mail/u/0/#inbox/<id>customer Alice Jordan (cus_OaBc…).Do not fabricate URLs you aren't sure are valid — a wrong link is worse than none. If you can't confidently link the ID, describe it instead.
Example call arguments for stripe__create_refund:
{
"charge": "ch_3ObC…",
"additional_info": "Refunding the duplicate $49 charge for customer Alice Jordan (cus_OaBc…, https://dashboard.stripe.com/customers/cus_OaBc…) that she flagged in support ticket #812."
}
When a tool call is gated, AgentPort returns an MCP content block that contains the approval URL in plain text. It looks roughly like:
Approval required: https://agentport.example.com/approve/a1b2c3d4-…
Treat this as a stop condition. The overview skill describes what to do — share the URL with your human, wait for approval, then retry the exact same call with the exact same arguments. Changing the arguments invalidates the pending approval and creates a new request.
A denied tool also comes back as a content block, but there is no approval URL and no path forward. Don't retry, don't substitute another tool to reach the same outcome — the policy is intentional.
isError: true come from the underlying vendor API. Read the text content for the real message.integration__tool form is what AgentPort routes on.additional_info, and don't fill it with generic filler ("calling tool"). Write a real sentence of intent.additional_info so a reviewer can verify them.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub yakkomajuri/agentport-skills --plugin agent-port