slop-mcp

slop-mcp

An MCP orchestration layer that aggregates multiple MCP servers while exposing only 8 meta-tools, dramatically reducing context window usage, and provides SLOP scripting, event monitoring, and tool customization.

Category
Visit Server

README

slop-mcp

Install many MCPs without killing your context.

slop-mcp is an MCP orchestrator that lets you connect dozens of MCP servers while exposing only 8 meta-tools to your agent. No more context window bloat from loading hundreds of tool definitions upfront.

Without slop-mcp:  50 MCPs × 20 tools = 1000 tool definitions in context
With slop-mcp:     50 MCPs × 20 tools = 8 tool definitions in context

Documentation

Event Monitoring

slop-mcp integrates with Claude Code's Monitor tool to stream events from any source — git hooks, build tools, CI pipelines, file watchers, or MCP servers.

slop-mcp monitor demo

# Start watching for events (runs until killed)
slop-mcp monitor &

# Send events from anywhere — shell scripts, git hooks, CI, cron
slop-mcp message "commit a1b2c3f: fix auth token refresh"
slop-mcp message "build failed: src/auth.ts(42): TypeError"
slop-mcp message "tests: 43 passed in 1.2s"
slop-mcp message "deploy v0.14.0 → staging (healthy)"

# Or poll MCPs with a SLOP script
slop-mcp monitor watch-deploy.slop

Use with Claude Code:

Monitor({
  command: "slop-mcp monitor",
  description: "build events",
  persistent: true
})

See the Monitoring Guide for git hook templates, build wrappers, and SLOP polling scripts.

Caveman Your MCPs

Third-party MCPs are written for everybody. They ship 400-token marketing-prose descriptions, deprecation caveats, twelve optional parameters you'll never set, and SDK history nobody asked for. Multiply across a dozen MCPs and that's your whole context budget — burned before the first user turn.

slop-mcp lets you rewrite any MCP's metadata to match what your project actually needs:

Before:  generate_image  →  420-token description, 14 params, 6 enums
After:   generate_image  →   30-token description, "use defaults" hints
Custom:  thumbnail       →   12-token description, 1 param (prompt)

Three progression levels:

  1. Caveman the descriptions — replace verbose vendor prose with terse agent-friendly text. Original tool unchanged, agent sees only your version.
  2. Document hardcoded values — for params your project never varies, the override description says "always pass X" instead of explaining the full enum.
  3. Wrap with a custom SLOP tool — define a brand-new tool with a minimal schema (e.g. just prompt) that calls the underlying MCP with all the boilerplate baked in.

Customizations live at user, project, or local scope and can be exported as portable JSON packs and committed to git — your team gets the same compressed interface on clone.

See the Customization Guide for the full image-MCP walkthrough and the customize_tools reference.

The Problem

As described in Anthropic's article Code Execution with MCP, current MCP implementations face two critical challenges:

  1. Context Window Overload: When agents connect to many tools, loading all tool definitions upfront consumes excessive tokens. With thousands of connected tools, agents must process hundreds of thousands of tokens before even reading user requests.

  2. Intermediate Result Duplication: Tool outputs repeatedly flow through the model's context. Transferring large documents between services forces the same data through the model between operations, potentially doubling token consumption.

The article proposes code execution within MCP as a solution—letting agents discover tools progressively and process data within the execution environment rather than shuttling everything through context.

How slop-mcp Addresses These Issues

slop-mcp takes a different but complementary approach: instead of code execution, it provides an orchestration layer that aggregates multiple MCP servers while maintaining context efficiency.

Progressive Tool Discovery

Rather than loading all tool definitions upfront, slop-mcp exposes just 8 meta-tools:

Tool Purpose
search_tools Find tools across all connected MCPs by name or description
execute_tool Execute a specific tool on a specific MCP
get_metadata Get full metadata (tools, prompts, resources) for connected MCPs
run_slop Execute SLOP scripts with access to all MCPs
manage_mcps Register/unregister MCPs at runtime
auth_mcp Handle OAuth authentication for MCPs that require it
slop_reference Search SLOP built-in functions by name or category
slop_help Get full details for a specific SLOP function

This means an agent connecting to slop-mcp sees 8 tool definitions regardless of how many MCPs are connected or how many tools they expose. The agent discovers tools on-demand via search_tools and executes them via execute_tool.

Lazy Connection & Async Startup

MCP servers connect asynchronously in the background:

Server starts → Immediately ready to serve
                ↓ (background)
                MCP #1 connecting...
                MCP #2 connecting...
                MCP #N connecting...

The server doesn't block waiting for all MCPs to connect. Tools become available progressively as their MCPs come online.

In-Environment Script Execution

The run_slop tool allows executing structured scripts that can:

  • Call multiple tools across different MCPs
  • Process intermediate results without sending them back through the model
  • Chain operations efficiently

This keeps large intermediate data within the execution environment, addressing the token duplication problem.

Efficient Tool Index

Tools are indexed locally when MCPs connect:

  • Fuzzy search by name or description
  • Filter by MCP name
  • No network calls during search
  • Thread-safe concurrent access

Architecture

┌─────────────────────────────────────────────────────┐
│              slop-mcp Server                        │
│  ┌───────────────────────────────────────────────┐  │
│  │  8 Meta-Tools (constant context cost)         │  │
│  │  • search_tools    • execute_tool             │  │
│  │  • get_metadata    • run_slop                 │  │
│  │  • manage_mcps     • auth_mcp                 │  │
│  │  • slop_reference  • slop_help                │  │
│  └───────────────────────────────────────────────┘  │
│                          │                          │
│         ┌────────────────┼────────────────┐         │
│         ▼                ▼                ▼         │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐    │
│  │  Registry  │  │ Tool Index │  │   Auth     │    │
│  │  (async)   │  │  (local)   │  │  (OAuth)   │    │
│  └─────┬──────┘  └────────────┘  └────────────┘    │
└────────┼────────────────────────────────────────────┘
         │
    ┌────┼────┬─────────────┐
    ▼    ▼    ▼             ▼
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│MCP #1│ │MCP #2│ │MCP #3│ │MCP #N│
│stdio │ │ SSE  │ │ HTTP │ │ ...  │
└──────┘ └──────┘ └──────┘ └──────┘

Configuration

slop-mcp uses KDL configuration with three-tier scoping:

Scope File Purpose
User ~/.config/slop-mcp/config.kdl Cross-project defaults
Project .slop-mcp.kdl Git-tracked project config
Local .slop-mcp.local.kdl Git-ignored secrets

Example configuration:

mcp "filesystem" {
    command "npx" "-y" "@anthropic/mcp-filesystem"
    args "/path/to/allowed/dir"
}

mcp "github" {
    transport "sse"
    url "https://mcp.github.com/sse"
    // OAuth handled automatically via auth_mcp tool
}

Import existing configurations:

import "claude-desktop"  // Import from Claude Desktop config
import "claude-code"     // Import from Claude Code settings

Quick Start

npm

npx @standardbeagle/slop-mcp

PyPI

uvx slop-mcp

Or install globally:

# npm
npm install -g @standardbeagle/slop-mcp

# pip
pip install slop-mcp

From Source

go install github.com/standardbeagle/slop-mcp/cmd/slop-mcp@latest

Usage

As an MCP Server (stdio)

slop-mcp serve

With HTTP/SSE Transport

slop-mcp serve --port 8080

Claude Desktop Configuration

Add to your Claude Desktop config:

{
  "mcpServers": {
    "slop": {
      "command": "slop-mcp",
      "args": ["serve"]
    }
  }
}

Comparison with Code Execution Approach

Aspect Code Execution (Article) slop-mcp
Tool Discovery Filesystem exploration search_tools with fuzzy matching
Context Cost Minimal (code interpreter) Constant (8 meta-tools)
Data Processing In-sandbox code SLOP scripts via run_slop
Infrastructure Secure sandbox required Standard MCP servers
Flexibility Full code execution Structured tool orchestration

Both approaches solve the same core problems. Code execution offers maximum flexibility but requires sandboxing infrastructure. slop-mcp provides a simpler deployment model while still achieving significant context efficiency gains.

Related Projects

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured