Skip to main content

MCP orchestrator — connect unlimited Model Context Protocol servers through 8 meta-tools. Progressive tool discovery keeps your AI agent's context window small.

Project description

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slop_mcp-0.12.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slop_mcp-0.12.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file slop_mcp-0.12.1.tar.gz.

File metadata

  • Download URL: slop_mcp-0.12.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slop_mcp-0.12.1.tar.gz
Algorithm Hash digest
SHA256 16b9fbc51c5b2bd7362203d65b8a8c8979c4a93f8bb011772781905cc5c9293e
MD5 52f9ca2edcceb652dfaeb31a6710de50
BLAKE2b-256 71307b78983167b69bc4e91795a4ab5575e34e4fd0dea3fb4c399294472690d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for slop_mcp-0.12.1.tar.gz:

Publisher: release.yml on standardbeagle/slop-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file slop_mcp-0.12.1-py3-none-any.whl.

File metadata

  • Download URL: slop_mcp-0.12.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for slop_mcp-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 42bbe17a125ccca6bd67786c9bef7a0e42f172acb9075abed3f9d0e19b90330d
MD5 b28b5be950dc03dee5ee774b8ab4d004
BLAKE2b-256 f976f015836442097a6a2d08fa6bd3e4d6725db2e2817547683a5141e15c7a53

See more details on using hashes here.

Provenance

The following attestation bundles were made for slop_mcp-0.12.1-py3-none-any.whl:

Publisher: release.yml on standardbeagle/slop-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page