Loading…
Loading…
Features · Connect · MCP
The Model Context Protocol lets you attach remote tool servers to your agent without writing client code. shipit supports three transports, plus a prebuilt catalog of well-known servers you connect by name.
import osfrom shipit_agent import Agent, connect_mcp, list_mcp_cataloggithub = connect_mcp("github", token=os.environ["GITHUB_TOKEN"])files = connect_mcp("filesystem", args=["/my/project"])db = connect_mcp("postgres", args=["postgresql://localhost/app"])agent = Agent.with_builtins(llm=llm, mcps=[github, files, db])
connect_mcp()
by name from the catalog
Transport
stdio, HTTP or persistent
Tools discovered
join the agent's own
Agent
calls them like any tool
The code is a checked example from the docs; the output is an example of what it prints.
import os
from shipit_agent import Agent, connect_mcp, list_mcp_catalog
github = connect_mcp("github", token=os.environ["GITHUB_TOKEN"])
files = connect_mcp("filesystem", args=["/my/project"])
db = connect_mcp("postgres", args=["postgresql://localhost/app"])
agent = Agent.with_builtins(llm=llm, mcps=[github, files, db])
for entry in list_mcp_catalog(): # browse the catalog
print(entry.name, "—", entry.description)6 more ways to use it
Each example is from the docs and checked against the library.
The fastest path: connect well-known servers by name with `connect_mcp`. Required env vars and the launcher binary (`npx` / `uvx`) are validated up front, so a misconfiguration is one clear message instead of a cryptic subprocess error:
import os
from shipit_agent import Agent, connect_mcp, list_mcp_catalog
github = connect_mcp("github", token=os.environ["GITHUB_TOKEN"])
files = connect_mcp("filesystem", args=["/my/project"])
db = connect_mcp("postgres", args=["postgresql://localhost/app"])
agent = Agent.with_builtins(llm=llm, mcps=[github, files, db])
for entry in list_mcp_catalog(): # browse the catalog
print(entry.name, "—", entry.description)All 28 connectors
Every connector in the catalog, attached by name. Hosted ones reach the vendor over HTTP; local ones start the official server on your machine.
28 connectors
airtabledataAirtable bases, tables and records.Local (stdio)API keyAIRTABLE_API_KEYasanaproductivityAsana tasks, projects and portfolios.HostedPer-user OAuthbrave-searchdataWeb search via the Brave Search API.Local (stdio)API keyBRAVE_API_KEYclickupproductivityClickUp tasks, lists, docs and spaces.HostedPer-user OAuthcloudflareautomationCloudflare Workers, KV, R2, D1 and observability.HostedPer-user OAuthconfluencedeveloperConfluence pages and spaces (same grant as Jira).HostedPer-user OAuthdiscordcommunicationPost, read and manage Discord channels and threads.Local (stdio)API keyDISCORD_TOKENfetchdataFetch a URL and return page content as markdown.Local (stdio)No keyfilesystemautomationRead/write files under the directories you pass as args.Local (stdio)No keygdriveproductivitySearch and read Google Drive files.Local (stdio)API keyGDRIVE_CREDENTIALS_PATHgithubdeveloperRepos, issues, PRs, code search and reviews on GitHub.HostedPer-user OAuthgitlabdeveloperGitLab projects, issues and merge requests.Local (stdio)API keyGITLAB_PERSONAL_ACCESS_TOKENgoogle-mapsdataPlaces, directions and geocoding via Google Maps.Local (stdio)API keyGOOGLE_MAPS_API_KEYintercomcommunicationIntercom conversations, contacts and help articles.HostedPer-user OAuthjiradeveloperJira issues, JQL search, transitions and sprints.HostedPer-user OAuthlineardeveloperLinear issues, cycles, projects and comments.HostedPer-user OAuthmemoryautomationPersistent knowledge-graph memory across runs.Local (stdio)No keynotionproductivitySearch, read and write Notion pages and databases.HostedPer-user OAuthpaypalbusinessPayPal orders, invoices and transactions.HostedPer-user OAuthplaywrightautomationDrive a browser: navigate, click, type, screenshot.Local (stdio)No keypostgresdataQuery PostgreSQL (read-only). Pass the connection URL as an arg.Local (stdio)No keypuppeteerautomationHeadless browser: navigate, screenshot, interact.Local (stdio)No keysentrydeveloperSentry issues, events and stack traces.HostedPer-user OAuthslackcommunicationPost and read Slack messages, channels and search.Local (stdio)API keySLACK_BOT_TOKEN, SLACK_TEAM_IDsqlitedataQuery a SQLite database file passed as an arg.Local (stdio)No keysquarebusinessSquare payments, catalog and customers.HostedPer-user OAuthstripebusinessStripe customers, charges, invoices and subscriptions.HostedAPI keySTRIPE_SECRET_KEYtodoistproductivityTodoist tasks, projects and labels.HostedPer-user OAuthPrebuilt catalog
Required env vars and launchers are checked up front, with one clear message.
Three transports
Remote HTTP, a stdio subprocess, or a persistent session.
Resources and prompts
Not just tools: read MCP resources and prompts too.
Mixed with local tools
MCP tools sit beside built-ins and your functions.
| Parameter | Default | What it does |
|---|---|---|
| mcps | empty | MCP servers whose tools join the agent's. |
| deferred_tools | 'auto' | Default "auto": above ten tools, keep nine core capabilities and a discovery tool. discovery_priority on a tool overrides core ranking; ties follow registration order. |