npm timps-swarmstdioMITupdated 12d ago
One install-mcp command puts 161 AI specialists into every coding tool you use β as parallel sub-agents, not just MCP tools.
What can you do with timps swarm?
One install-mcp command puts 161 AI specialists into every coding tool you use β as parallel sub-agents, not just MCP tools.
Quick Start Β· Sub-agents Β· 161 Agents Β· MCP Setup Β· CLI Β· Architecture
4 agents dispatched in parallel vs sequential β 3Γ speedup (64s vs 192s)
What it does
- Security audit any repo in 30 seconds β
npx timps-swarm audit ./finds CVEs, hardcoded secrets, and OWASP issues. No backend, no config, no API key. - 161 specialist agents in every AI tool β one
install-mcpcommand writes the MCP config for 9 IDEs (Claude Code, Cursor, Windsurf, Continue, Aider, Cline, Zed, VS Code, Gemini, Codex, Amp, Warp) and registers every agent as a native sub-agent so Claude Code / Cursor / Codex can dispatch them in parallel viaTask(subagent_type=...). - Local-first, BYOK β runs on Ollama with zero API cost; plug in Gemini/Anthropic/OpenAI/Groq when you want more power.
- Works without the Python backend β
npm install -g timps-swarmships a Node.js MCP stdio proxy (cli/lib/mcp-proxy.js) that talks to any running FastAPI server (local or remote viaTIMPS_API_URL). The Python repo is optional.
Quick Start
npm i -g timps-swarm
Then wire it into your coding agents:
npx timps-swarm install-mcp
install-mcp auto-detects every AI tool on your machine and:
- Writes the
timps-swarmMCP server entry into every detected IDE config (with an explicitenv:block forwardingANTHROPIC_API_KEY,OPENAI_API_KEY,GEMINI_API_KEY,GROQ_API_KEY,TIMPS_API_URL,OLLAMA_HOST,REDIS_URL). - Writes one sub-agent
.mdfile per TIMPS tool into~/.claude/agents/,./.claude/agents/, and~/.codex/agents/.
Restart your tool β 161 agents appear as MCP tools and as parallel sub-agents.
Run without installing (zero setup):
npx timps-swarm audit ./ # security scan any repo β works immediately
What install actually does
install-mcp is the only command you need:
npx timps-swarm install-mcp # default: configure all detected tools
npx timps-swarm install-mcp --no-sub-agents # MCP config only, skip the .md files
npx timps-swarm install-mcp --tool cursor # configure one tool
npx timps-swarm install-mcp --dry-run # preview without writing
npx timps-swarm uninstall-mcp # remove all of the above
By default this writes:
- MCP server entries into 9 IDE config files (one entry per IDE, all pointing at
npx timps-swarm mcp). - 161 sub-agent
.mdfiles into~/.claude/agents/,./.claude/agents/,~/.codex/agents/(one per MCP tool) so Claude Code'sTask(subagent_type="timps_kubernetes_navigator"), Cursor Composer, and Codex can dispatch them in parallel.
All writes are idempotent (re-running updates the existing file) and reversible via uninstall-mcp (which only removes the timps-swarm key and the timps-*.md files β your other config is untouched).
The killer commands
# Security audit β secrets + CVEs + SAST, no backend, no API key
npx timps-swarm audit ./
# Full 10-agent SDLC pipeline on any codebase
npx timps-swarm fix ./src --language python
# Generate a complete OpenAPI spec from plain English
npx timps-swarm api-design "billing API with metered usage and Stripe webhooks"
# Design a DB schema with DDL, ER diagram, and migrations
npx timps-swarm db-design "multi-tenant SaaS with usage-based billing"
# Diagnose your machine (12 specialist agents)
npx timps-swarm health
MCP integrations
npx timps-swarm install-mcp # auto-detect and configure all installed tools
npx timps-swarm install-mcp --tool cursor # single tool only
npx timps-swarm install-mcp --dry-run # preview without writing files
| Tool | Config written |
|---|---|
| Claude Code | ~/.claude/mcp.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.windsurf/mcp.json |
| Continue | ~/.continue/config.json |
| Zed | ~/.config/zed/settings.json |
| Aider | ~/.aider.conf.yml |
| Goose | ~/.config/goose/config.yaml |
| Gemini CLI | ~/.gemini/settings.json |
| Codex CLI | ~/.codex/config.json |
| Amp | ~/.amp/mcp.json |
| Warp | ~/.warp/mcp_servers.json |
| VS Code / Cline / Copilot | .vscode/mcp.json (workspace) |
install-mcp writes the snippet below into each IDE config. The env: block forwards whichever API keys you have set in your shell; it's optional (the IDE usually inherits env, but explicit is safer for sandboxed hosts).
Claude Code β ~/.claude/mcp.json
{
"mcpServers": {
"timps-swarm": {
"command": "npx",
"args": ["timps-swarm", "mcp"],
"env": {
"GEMINI_API_KEY": "...",
"ANTHROPIC_API_KEY": "..."
}
}
}
}
Cursor / Windsurf / Gemini CLI / Codex CLI / Amp β same format as above, different path.
VS Code / Cline / Roo Code / GitHub Copilot β .vscode/mcp.json
{
"mcp": {
"servers": {
"timps-swarm": { "type": "stdio", "command": "npx", "args": ["timps-swarm", "mcp"] }
}
}
}
Continue β ~/.continue/config.json
{ "mcpServers": [{ "name": "timps-swarm", "command": "npx", "args": ["timps-swarm", "mcp"] }] }
Aider β ~/.aider.conf.yml
mcp-servers:
timps-swarm:
command: npx
args: [timps-swarm, mcp]
type: stdio
Zed β ~/.config/zed/settings.json
{
"assistant": {
"mcp_servers": {
"timps-swarm": { "command": "npx", "args": ["timps-swarm", "mcp"] }
}
}
}
Goose β ~/.config/goose/config.yaml
extensions:
- name: timps-swarm
type: stdio
cmd: npx timps-swarm mcp
enabled: true
GitHub Actions β reusable workflow
jobs:
generate:
uses: Sandeeprdy1729/timps-swarm/.github/workflows/timps-swarm.yml@main
with:
task: "Build a microservice for JWT authentication"
language: python
secrets:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
LLM providers
Tries providers in priority order, uses the first available one.
| Priority | Provider | Env var | Notes |
|---|---|---|---|
| 1 | MCP Sampler | (auto) | Uses the host tool's model |
| 2 | Gemini 2.5 Flash | GEMINI_API_KEY |
Recommended β fast + generous free tier |
| 3 | Anthropic Claude | ANTHROPIC_API_KEY |
Best for complex reasoning |
| 4 | OpenAI GPT-4o | OPENAI_API_KEY |
|
| 5 | Groq Llama 3.3 70B | GROQ_API_KEY |
Fastest API inference |
| 6 | Ollama | (auto-detected) | Fully offline, no API key |
| 7 | TIMPS-Coder 0.5B | (built-in) | Always available |
export GEMINI_API_KEY=... # free tier, fastest start
export ANTHROPIC_API_KEY=... # optional
The MCP server exposes 161 specialist agents across 9 categories. Every one is also registered as a native Claude Code / Cursor / Codex sub-agent.
| Category | Count | Examples |
|---|---|---|
| Priority | 68 | research_agent, ab_testing_agent, abdm_agent, agent_composer, browser_automation, churn_predictor, demand_forecaster, dependency_agent, digilocker_agent, dpdp_act_auditor, federated_learning, finetuning_agent, fssai_compliance_agent, gst_compliance, indiehacker_agent, model_evaluator, model_perf_monitor, podcast_show_notes_writer, prompt_injection_scanner, quantum_ready, rag_designer, rag_evaluator, red_team_agent, release_manager, sbom_generator, security_remediation, service_mesh_configurator, sprint_planning_agent, storybook_story_generator, threat_intel_analyst, upi_agent, vector_db_agent, voice_agent_designer, wearable_health_coach, web3_agent, win_loss_analyst, β¦ |
| Expert Diagnostics | 51 | dependency_rebel, kubernetes_navigator, docker_compose_architect, pipeline_healer, compliance_auditor, incident_response_coordinator, accessibility_tester, mcp_server_generator, observability_cost_optimizer, license_compliance_scanner, container_image_scanner, adr_writer, contract_reviewer, court_case_summarizer, data_pipeline, db_migration_pilot, disaster_recovery, game_day_facilitator, git_workflow_automator, graphql_agent, iac_drift_detector, load_testing, local_rag_builder, log_pattern_analyzer, phishing_simulator, postmortem_agent, test_intelligence, visual_regression_detective, web_scraping, web_search, β¦ |
| Computer Health | 12 | system_optimizer, file_organizer, environment_doctor, security_guard, network_medic, battery_analyst, update_manager, log_interpreter, privacy_cleaner, media_librarian, backup_sentinel, context_switcher |
| Developer Workflow | 12 | issue_triager, boilerplate_architect, pr_reviewer, dependency_sentinel, unit_test_writer, docstring_generator, log_detective, sql_optimizer, sprint_reporter, flaky_test_hunter, api_contract_auditor, content_multiplier |
| Knowledge Worker | 7 | inbox_gatekeeper, meeting_condenser, research_scout, trend_monitor, data_wrangler, competitor_tracker, agri_commodity_forecaster |
| Meta | 6 | list_agents, dispatch, full_checkup, list_providers, connect_tools, tool_status |
| Context / Kernel | 3 | context_briefing, delegate, kernel_status |
| SDLC Pipeline | 1 | run_task (the 10-node LangGraph orchestrator: PM β Architect β Code β Review β QA β Security β Perf β Docs β DevOps) |
# Trigger the full SDLC pipeline
python3 give_work.py "Build a rate-limited REST API for user authentication"
# PM β Architect β Code β Review β QA β Security β Perf β Docs β DevOps
# Run a computer health checkup
npx timps-swarm health
python3 give_work.py "My laptop fan is always running"
# Delegate a multi-step goal
npx timps-swarm delegate "fix the auth bug and ensure 80% test coverage"
# Call any of the 161 directly from the CLI
npx timps-swarm mcp # then use any MCP client
The Self-Critic Agent is the most valuable one β it scores any output 1β10 and re-runs the originating agent until the threshold is met, closing the quality loop across the entire swarm.
The 161 includes Phase 3 (12 priority), Phase 5 (7 more), Phase 6 nextgen (21 β security/DevOps/MLOps/emerging), Phase 7 (32 β India verticals, compliance, content, sales/voice, research), and
timps_batchfor parallel delegation. Thesrc/tool_connectorsmodule has a separateTOOLSdict (24 IDE config shortcuts βclaude_code,cursor, etc.) used at runtime bytimps_connect_toolsandtimps_tool_status; those are not part of the 161.
CLI
npm install -g timps-swarm # or: npx timps-swarm <command>
COMMANDS
audit <path> Security audit β secrets + CVEs + SAST (works offline)
fix <path> Run the full 10-agent SDLC pipeline
research <topic> Research a topic before writing code
api-design <desc> Generate an OpenAPI 3.1 spec from plain English
db-design <desc> Design a database schema with DDL + ER diagram
n8n <desc> Generate a complete n8n workflow JSON
refactor [path] Detect code smells + produce refactored version
test-data <schema> Generate realistic seed / fixture data
monitor <service> Prometheus + Grafana + alerting config
ui <desc> UI component spec + code + accessibility audit
cost <arch> Cloud cost estimate + savings recommendations
critique <content> Score output 1-10, auto-improve until threshold
health Computer health checkup (12 agents)
providers Show configured LLM providers
install-mcp Auto-configure TIMPS in 9 AI tools + 161 sub-agents
uninstall-mcp Remove the MCP config and 161 sub-agent .md files
start [--repo <path>] Start the TIMPS Swarm API server (port 8000)
mcp [--repo <path>] Start the MCP stdio server (Python or Node.js fallback)
FLAGS (install-mcp)
--tool <id> Only configure one IDE (claude-code, cursor, codex-cli, β¦)
--no-sub-agents Skip writing 161 sub-agent .md files (MCP config only)
--dry-run Preview without writing anything
--silent Suppress output (postinstall)
ENV VARS
TIMPS_API_URL API server URL (default http://localhost:8000)
Set to a remote URL to point every tool call at it.
TIMPS_REPO Explicit path to the Python repo for backend commands
GEMINI_API_KEY Free tier β fastest start
ANTHROPIC_API_KEY Optional
OPENAI_API_KEY Optional
GROQ_API_KEY Optional
OLLAMA_HOST Default http://localhost:11434
REDIS_URL Default redis://localhost:6379/0
If timps-swarm mcp is invoked but no Python repo is on disk, it transparently falls back to the bundled cli/lib/mcp-proxy.js β a Node.js JSON-RPC 2.0 stdio proxy that forwards every tool call to ${TIMPS_API_URL}/mcp/tools/call. So npm install -g timps-swarm is enough to get a working MCP server, as long as a FastAPI server is reachable.
Architecture
User / AI coding tool
(Claude Code, Cursor, Codex, β¦)
β
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββ
β stdio JSON-RPC 2.0 β β
βΌ βΌ βΌ
ββββββββββββββββββββββββ ββββββββββββββββββββββββ ββββββββββββββββββββββ
β mcp_server/server.py β β cli/lib/mcp-proxy.js β β src/main.py β
β Python β 161 tools, β β Node.js fallback β β FastAPI + WS β
β full MCP sampling β β (npm-only path) β β /swarm/run, β
β β β β β /agents/*, β
β β β β β /mcp/tools, β
β β β β β /mcp/tools/call, β
β β β β β /health, /ws β
ββββββββββββ¬ββββββββββββ ββββββββββββ¬ββββββββββββ ββββββββββββ¬ββββββββββ
β β β
β TOOLS / dispatch β POST /mcp/tools/call β
β βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββΆβ
β β
β mcp_server/server._TOOL_HANDLERS β
β (161 tools, in-process) β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ
β
Swarm Bridge
β
βββββββββββββββββββββ¬βββββββββββ΄βββββββββββ¬ββββββββββββββββββββ
βΌ βΌ βΌ βΌ
SDLC DAG Health Graph Specialist Agents Context / Kernel
(10 nodes) (12 nodes) (120 direct calls) (3 nodes)
β β β β
βββββββββββββββββββββ΄ββββββββββββββββββββββ΄ββββββββββββββββββββ
β
LLM Router
βββββββββββββββ¬ββββββββββββββββββΌββββββββββββββ¬ββββββββββββββββ
βΌ βΌ βΌ βΌ βΌ
Gemini Anthropic OpenAI Groq Ollama
2.5 Flash Claude GPT-4o Llama 3.3 (local)
+ TIMPS-Coder 0.5B
Three transport paths converge on the same dispatch table:
- Python MCP stdio (
mcp_server/server.py) β full MCP sampling, in-process, 161 tools. Used when the Python repo is on disk. - Node.js MCP stdio proxy (
cli/lib/mcp-proxy.js) β pure stdio JSON-RPC 2.0 that proxiestools/list+tools/callto a running FastAPI server. Used when only the npm package is installed (no Python repo). - FastAPI REST + WebSocket (
src/main.py) β/swarm/run,/agents/*,/health,/ws, plus the bridge endpoints/mcp/tools(catalogue) and/mcp/tools/call(dispatch).
Layer 1 β Computer Manager (src/layer1_computer_manager.py) β isolated working directories, CPU/memory/disk caps per agent.
Layer 2 β Swarm Bridge (src/layer2_swarm_bridge.py) β agent lifecycle: spawning, team formation, LangGraph DAG execution, result collection.
Layer 3 β CLI (src/layer3_swarm_cli.py) β give_work.py and the npm CLI.
REST API
curl http://localhost:8000/health
curl http://localhost:8000/health/full # deep check with provider status
curl -X POST http://localhost:8000/swarm/run \
-H "Content-Type: application/json" \
-d '{"request": "Fix SQL injection in my FastAPI endpoint", "language": "python"}'
curl -X POST http://localhost:8000/agents/refactor \
-d '{"code": "...", "language": "python", "goals": ["reduce_complexity"]}'
curl http://localhost:8000/providers
# MCP bridge (used by cli/lib/mcp-proxy.js)
curl http://localhost:8000/mcp/tools # full 161-tool catalogue
curl -X POST http://localhost:8000/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{"name": "timps_list_agents", "arguments": {}}' # call any tool over HTTP
wscat -c ws://localhost:8000/ws # real-time stream
Full interactive docs at http://localhost:8000/docs when the server is running.
Training custom adapters
The Code Generator uses TIMPS-Coder β a 0.5B model with 20 LoRA adapters, one per bug class. Add examples and push β GitHub Actions trains new adapters automatically.
cp my_bugs.jsonl datasets/custom/
git add datasets/custom/my_bugs.jsonl
git commit -m "feat: 40 new Python async bug examples"
git push origin main
Set HF_TOKEN and HF_REPO_ID in repo secrets. The pipeline merges your data, trains 20 adapters in parallel on Apple Silicon (MLX), benchmarks, and publishes to HuggingFace.
The 20 bug-class adapters: java_npe Β· java_ioob Β· java_concurrent Β· python_keyerror Β· python_typeerror Β· python_recursion Β· python_async Β· python_logic Β· javascript_null Β· javascript_scope Β· javascript_async Β· cpp_memory Β· cpp_bounds Β· go_routine Β· rust_borrow Β· sql_injection Β· xss_vuln Β· auth_bypass Β· performance_slow Β· api_design
Hardware
| Setup | RAM | Notes |
|---|---|---|
| Minimum | 8 GB | One Ollama model at a time |
| Recommended | 16 GB | All models loaded simultaneously |
| Fine-tuning | 8 GB Apple Silicon | MLX on M1/M2/M3/M4 |
Security
API key auth is off by default. Enable when sharing across a team:
TIMPS_AUTH=1 make up-local
python3 give_work.py --keygen "sandeep-laptop" # generate key (shown once)
python3 give_work.py --revoke timps-sk-xxxx # revoke a key
Keys stored as SHA-256 hashes in ~/.timps/.secrets (chmod 600).
Contributing
PRs welcome against main. Conventional commits, please.
git clone https://github.com/Sandeeprdy1729/timps-swarm
cd timps-swarm && pip install -e ".[dev]"
make up-local # starts the FastAPI server on :8000
make testis currently a no-op βtests/is empty. Existing runnable test scripts are top-level (python3 mcp_server/test_server.py,python3 test_computer_allocation.py). Add atests/directory and wire it intopyproject.tomlbefore relying on pytest.
Lint: ruff check . (configured in pyproject.toml, no make lint target). Typecheck: none configured. Python β₯ 3.10, CI pins 3.11.
Built on TIMPS-Coder β a 0.5B model fine-tuned with 20 LoRA adapters for specific bug patterns.
Install
Add timps swarm to your client. Pick the one you use.
claude mcp add timps-swarm -- npx -y timps-swarmcodex mcp add timps-swarm -- npx -y timps-swarmamp mcp add timps-swarm -- npx -y timps-swarm{
"mcpServers": {
"timps-swarm": {
"command": "npx",
"args": [
"-y",
"timps-swarm"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"timps-swarm": {
"command": "npx",
"args": [
"-y",
"timps-swarm"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"timps-swarm","command":"npx","args":["-y","timps-swarm"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"timps-swarm": {
"command": "npx",
"args": [
"-y",
"timps-swarm"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"timps-swarm": {
"command": "npx",
"args": [
"-y",
"timps-swarm"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"timps-swarm": {
"command": "npx",
"args": [
"-y",
"timps-swarm"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"timps-swarm": {
"type": "local",
"command": "npx",
"args": [
"-y",
"timps-swarm"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"timps-swarm": {
"command": {
"path": "npx",
"args": [
"-y",
"timps-swarm"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y timps-swarmRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 5 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 2.2.3Latest | Aug 20, 2026 |