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
Our assessment of shipit_agent
shipit_agent scores 80/100 on our quality scale, 2532nd of 2,893 Automation skills we index.
Its MCP Server is 33 KB long, well organised into 54 sections with 34 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 8 days ago, so shipit_agent is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit β read the skill file before letting an agent act on it.
shipit_agent compared with similar skills
All 4 of these similar skills score higher than shipit_agent; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| shipit_agent (this skill)by shipiit | 80 | 3 | 8d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 100.1k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 76.5k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.5k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 88.8k | 1d ago | MCP Server |
Frequently asked questions
- How do I install shipit_agent?
- Run
claude mcp add shipiit -- npx -y github:shipiit/shipit_agent. The install tabs above show the steps for each supported agent. - Which AI agents does shipit_agent work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is shipit_agent safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is shipit_agent still maintained?
- The repository was last updated 8 days ago, so shipit_agent is actively maintained.
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.
Automatic tool discovery
Ordinary Agent(llm=llm, tools=tools, mcps=servers) now defaults to
deferred_tools="auto". Catalogs that fit ten tools and approximately 4,096
schema tokens stay visible. Otherwise, the initial request exposes up to nine
working tools plus search_tools, within that schema budget.
An existing ToolSearchTool is reused under its configured name.
Core selection prefers a tool's numeric discovery_priority, then Shipit's
core capabilities, then registration order. Assign higher priorities to your
application's frequently used tools. Up to three recently discovered schemas
can be reused within the same session, competing for the same initial slots.
Changed schemas and statically denied tools are excluded from reuse; argument
permissions are still checked at execution. Session caches are bounded to 32
sessions per Agent instance and are not persisted across process restarts.
The model can search descriptions, names, and MCP server metadata; matching
tools become callable with their full schemas on the next step. Search does
not execute them or grant additional permissions. Loaded tools remain visible
for the rest of the run, so ten is an initial budget, not an execution limit.
Auto mode includes a compact capability-family index instead of listing every
deferred tool name. Ranking runs locally without additional LLM calls.
Exact-name searches load only the named tool; names can use underscores,
camelCase or Unicode. Newly loaded schemas append after those already shown.
This works through run(), stream(), and the async runtime using ordinary
function schemas, including providers without native tool-search support.
Use deferred_tools=False to keep every schema visible, True for the existing
core-only policy, or a list of names to defer specific tools. Code mode retains
its own discovery policy. Measure total request tokens and task completion in
your workload: discovery adds an LLM step, so schema savings are not a promise
of equal total-token savings.
See the discovery review and offline benchmark for measured payload reductions and remaining tradeoffs.
Ordinary Agent also supports opt-in progressive_skills=True for metadata-first
skill loading and max_task_tokens=50_000 for a soft per-run token threshold.
See progressive skills, budget limits and validation
for setup, isolation guarantees and provider-usage caveats.
from shipit_agent.deferral import DiscoveryPolicy
agent = Agent(
llm=llm, tools=tools, mcps=servers,
deferred_tools=DiscoveryPolicy(initial_tools=10, schema_tokens=4096, reuse_tools=3),
)
Discovery itself remains visible even if its schema exceeds a very small
configured budget. Definitions loaded during a run are not evicted mid-run.
For large structured results, tools may return
ToolOutput.from_records(rows, fields=["id", "evidence"], limit=20).
The model receives an explicit page and total count; callers retain the full
JSON. This is context reduction, not security redaction.
Run summaries distinguish finished from incomplete provider output, expose
finish reasons, failed-tool counts, and recovery counts. finished means the
runtime ended normally, not that an independent grader verified the answer.
Provider-reported usage counters remain unchanged; cache ratios and cost
estimates account for whether cached tokens are included in prompt tokens.
An opt-in, billed multi-turn evaluation is available in
scripts/evaluate_agent_session.py. It uses safe fixture tools and an
in-process MCP server, not production data or production MCP transport.
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 sani
Truncated for display β read the full file on GitHub.
Related Skills
Agent-Reach
100.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu β one CLI, zero API fees.
headroom
76.5kCompress 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.
CowAgent
47.5kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
88.8kπ·οΈ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit β see the Safety scan above for what the skill file itself contains.
