shipit_agent
Powerful Python agent runtime with tools, MCP, Hooks, Skills, Rag, memory, sessions, reasoning, and streaming packets.
Install / Use
claude mcp add shipiit -- npx -y github:shipiit/shipit_agentIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Skill content
View source on GitHub<p align="center"> <a href="https://www.youtube.com/watch?v=1_xFvZDC7xg"> <img src="https://img.youtube.com/vi/1_xFvZDC7xg/maxresdefault.jpg" alt="Watch: SHIPIT Agent — a clean, powerful Python runtime for tool-using AI agents" width="70%" /> </a> </p> <p align="center"> <a href="https://www.youtube.com/watch?v=1_xFvZDC7xg"><strong>▶ **Shipt Agent UI**| Watch the intro </strong></a> </p>
What is SHIPIT Agent?
SHIPIT Agent is a small, explicit runtime for building production agents in Python. You bring an LLM; the runtime gives you the loop around it — tool calling, retries, streaming, memory, sessions, permissions, and cost tracking — plus a deep library of batteries (40+ built-in tools, 17 SaaS connectors, RAG, multi-agent orchestration, browser automation).
It is provider-agnostic by design: the same agent code runs on OpenAI, Anthropic, AWS Bedrock, Google Vertex/Gemini, Groq, Together, Ollama, or any of 100+ models through LiteLLM. Swap the model in one line — nothing else changes.
from shipit_agent import Agent
from shipit_agent.llms import build_llm_from_env
agent = Agent.with_builtins(llm=build_llm_from_env()) # any provider
print(agent.run("Find every TODO in this repo and summarize them.").output)
The only hard dependency is
pydantic. Everything else (a provider SDK, Playwright, a vector store) is an optional extra you install when you need it. Python 3.11+ · MIT · 3,500+ tests.
Highlights
- 🤖 The Agent — one runtime: tool calling, retries, parallel tools, context compaction, and a
final-answer guarantee.
Agent.with_builtins()ships the full tool catalogue. - 🔌 Any LLM — OpenAI · Anthropic · Bedrock · Vertex · Gemini · Groq · Together · Ollama · OpenRouter · 100+ via LiteLLM. Native adapters where it matters, one interface everywhere.
- 🛡️ Control plane — a fast, rule-based permission engine (allow/deny/ask), plan mode (read-only research before acting), and hooks that can block or rewrite any tool call.
- ⚡ Prompt caching — cross-provider cache-read accounting (Anthropic/Bedrock/Vertex
cache_control+ OpenAI automatic caching) so repeated calls bill at a fraction of the cost. - 🧰 Tools & connectors — 40+ built-in tools (bash, SQL, files, web search, code execution, vision, PDF…) and 17 SaaS connectors (GitHub, Slack, Gmail, Jira, Salesforce, Stripe…).
- 🔗 MCP — connect Model Context Protocol servers over stdio, HTTP, or a persistent subprocess.
- 🧠 Deep agents —
GoalAgent,ReflectiveAgent,Supervisor/Worker,ShipCrew, and thecreate_deep_agent()factory for autonomous, multi-step, multi-agent work. - 📚 Super RAG — hybrid vector + BM25 search with auto-cited sources and pluggable backends (Chroma, Qdrant, pgvector).
- 🚀 Autopilot — long-running autonomous loops with a critic, artifacts, fan-out, and a scheduler.
- 🖥️ Computer use — drive a real browser via screenshots + a vision model (works in Jupyter).
- 📊 Production-ready — sessions, memory consolidation, structured output with validation-retry, streaming events (+ SSE/WebSocket packets), tracing (file/OTel/LangSmith), and budgets.
What's new in v1.9.6 — fewer tokens, steadier connectors
- Calibrated context accounting (v1.9.5) — compaction now fires at the right
time. The trigger learns each model's real tokens-per-char from the provider's
reported usage (
TokenCalibrator) and counts the fixed prompt prefix (system + tool schemas), instead of a flatchars/4that under-counted dense tool output by multiples. Result: long, tool-heavy runs stay lean and stop overflowing the model. Clamped so it can only ever compact earlier, never later. - MCP resilience (v1.9.6) — a per-server circuit breaker + bounded retry
(
ResilientMCPTransport). A connector that is down or rate-limiting (HTTP 429 / JSON-RPC-32029) fails fast instead of waiting out the full timeout on every step, so one flaky server can't tax the whole agent. A success resets it.
Both are backwards compatible and covered by the test suite. See the changelog.
What's new in v1.7.0 — the working set
The biggest capability release yet: do the powerful thing without burning tokens or trust. All of it works with any LLM provider.
from shipit_agent import Agent
# 1. Deferred tool loading — a small core stays resident; the rest (and MCP
# tools) are listed by name and loaded on demand via tool_search.
agent = Agent.with_builtins(llm=llm, deferred_tools=True)
# 2. Attachments — images, PDFs, and code/markdown files on the turn.
agent.run("What changed here?", images=["diagram.png"], files=["spec.pdf", "app.py"])
# 3. Batch, atomic edits to one file, and a full shell when you want it.
# multi_edit applies many edits at once; bash gets a 600s ceiling,
# an unrestricted mode, and a bash_job companion to poll/kill jobs.
# 4. Structured output straight from the provider (no parse-retry needed).
agent.run("Extract the invoice", output_schema=InvoiceSchema)
# 5. Plan mode as a workflow — the agent researches read-only, then submits a
# structured plan for approval before it acts.
Plus: read parallelization (read-only tools fan out, writes stay ordered),
prompt caching across the conversation prefix, compaction re-grounding
(re-reads files after summarizing), MCP hardening (name sanitization,
collision-safe, timeouts, respawn re-handshake), the orchestrator role,
connection cards, and an end-of-run usage/cost summary. Retries back off
with jitter, every LLM call and MCP call has a timeout, and eviction no longer
corrupts saved sessions. Verified live on AWS Bedrock Mantle (Gemma 4) and
Hetzner inference. See the changelog.
The shipit CLI
shipit code "fix the failing test" # 🛠 coding agent in your repo
shipit browse --show "cheapest SFO→JFK flight?" # 🌐 computer use, watchable
shipit run "prompt" # one-shot with live tool cards
shipit chat # REPL with bottom-pinned input (TUI)
shipit serve # your agent as an OpenAI-compatible API
shipit code --mcp playwright "..." # attach MCP servers (browser & more)
shipit roles | models | mcp | tools # catalogs
shipit code roots the agent in your repository — project memory, slash
commands, permission policy, 50 builtin tools (structured git_ops,
notebook_edit, hardened edits with diffs, deep_research, …) — with
human-in-the-loop [y]/[n]/[a]lways prompts, --plan (read-only) and
--yes (auto-accept) modes, self-healing tool calls for open-weight
models, and --mcp to attach catalog servers incl. the official
Playwright MCP. Full CLI guide →
Installation
Requirements: Python 3.11+ (3.11 – 3.14 supported). The only hard dependency is
pydantic; provider SDKs and heavier features are opt-in extras.
From PyPI (recommended)
pip install shipit-agent
Optional extras
Install only what you need — each extra pulls in the relevant third-party packages:
| Extra | Installs | For |
| --- | --- | --- |
| openai | openai | OpenAI / OpenAI-compatible |
| anthropic | anthropic | native Anthropic (Claude) |
| bedrock | boto3 | AWS Bedrock |
| google | google-generativeai | Gemini |
| groq / together / ollama | provider SDK | Groq / Together / Ollama |
| litellm | litellm | 100+ models via one interface |
| playwright | playwright | browser automation / computer use |
| pdf | pypdf | the PDF tool |
| sql | sqlalchemy | the SQL tool (add your own driver) |
| rag-chroma / rag-qdrant / rag-pgvector | vector store | RAG backends |
| rag-openai / rag-cohere / rag-sentence-transformers | embedder | RAG embeddings |
| otel / langsmith | exporters | tracing |
| all | everything | kitchen sink |
pip install "shipit-agent[anthropic]" # one provider
pip install "shipit-agent[anthropic,playwright,rag-chroma]" # combine
pip install "shipit-agent[all]" # everything
Browser automation / computer use also needs the Chromium binary:
pip install "shipit-agent[playwright]" && playwright install chromium
From source (development)
git clone https://github.com/shipiit/shipit_agent.git
cd shipit_agent
pip install -e ".[dev]" # editable install with test/docs tooling
pytest -q # 3,500+ tests
ruff check .
Alternatives: pip install . (non-editable), pip install -r requirements.txt, or
poetry install.
Verify
import shipit_agent
print(shipit_agent.__version__)
Notebook tip: if imports look out of date, your kernel may be using an older globally installed copy. Run
pip install -U shipit-agent(orpip install -e .from the repo) in the kernel's environment.
Environment setup
The fastest way to choose a model is environment variables — copy
[.env.example](.e
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
77.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
70.1k🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
career-ops
69.8kOpen-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)
headroom
68.3kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
