Skip to main content

The Standard Library for the Agentic Web — verified MCP tools for any AI Agent.

Project description

ProtocolBox 📦

License: MIT Build Status Code Style: Ruff MCP Compliant Built for Antigravity

The Standard Library for the Agentic Web.
https://protocolbox.in

ProtocolBox is a collection of high-reliability MCP (Model Context Protocol) tools designed for AI Agents. It provides verified, token-efficient utilities that work out-of-the-box with Claude, Gemini, and other MCP-compliant agents.

🚀 Installation

pip install protocolbox

Initialize the configuration for your agent:

protocolbox init

🛠️ Tools

ProtocolBox currently exports 8 tools optimized for agent workflows:

Tool Signature Description
Scrape scrape(url: str) -> str Fetches a webpage and converts it to clean, token-saving Markdown. Removes ads, scripts, and clutter automatically.
Heal JSON heal_json(json_str: str) -> dict Repairs malformed JSON strings often produced by LLMs (trailing commas, missing quotes, etc.) into valid Python dictionaries.
Web Search web_search(query: str, max_results: int) -> str Privacy-focused web search using DuckDuckGo. Returns formatted Markdown results.
Safe Math safe_math(expression: str) -> str Securely evaluates mathematical expressions without eval(). Supports arithmetic and common math functions.
Get Time get_time(timezone: str) -> str Returns the current real-world time in any timezone (ISO 8601 format).
Get Transcript get_transcript(video_url: str) -> str Fetches the English transcript of a YouTube video as clean text.
Remember remember(key: str, value: str) -> str Stores a key-value pair in persistent local memory.
Recall recall(key: str) -> str Retrieves a value from persistent local memory by key.

⚡ Usage

Start the MCP server to expose these tools to your agent:

protocolbox start

Or using uv:

uv run protocolbox start

📦 Project Structure

protocolbox/
├── src/protocolbox/      # Core package
│   ├── server.py         # FastMCP server
│   ├── cli.py            # CLI entry point
│   └── tools/            # Tool implementations
│       ├── scraper.py    # scrape()
│       ├── json_healer.py# heal_json()
│       ├── search.py     # web_search()
│       ├── math_utils.py # safe_math()
│       ├── time_utils.py # get_time()
│       ├── youtube.py    # get_transcript()
│       └── memory.py     # remember() + recall()
├── tests/                # 280+ edge-case tests
├── docs/                 # Documentation site
└── pyproject.toml        # Project config

👨‍💻 Development

We recommend uv for a fast, reliable dev environment.

# Clone and setup
git clone https://github.com/ianuragbhatt/protocolbox.git
cd protocolbox
uv pip install -e ".[dev]"

# Run tests (100% pass rate required)
pytest tests/ -v

# Linting
ruff check .

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to add new tools.

Maintainer: Anurag Bhatt (@ianuragbhatt)

License

MIT © 2026 ProtocolBox.

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

protocolbox-0.1.4.tar.gz (103.3 kB view details)

Uploaded Source

Built Distribution

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

protocolbox-0.1.4-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file protocolbox-0.1.4.tar.gz.

File metadata

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

File hashes

Hashes for protocolbox-0.1.4.tar.gz
Algorithm Hash digest
SHA256 72dc72e578e16a1854325df78f7f779900a8aaa00a036cdb6b8240f433280162
MD5 f8003c94d28accdf2516fcec9441b51d
BLAKE2b-256 4af8ddc31d16b52ac531175bfe330f8bbed26eeb65d9d989a721bdf8f5114d97

See more details on using hashes here.

Provenance

The following attestation bundles were made for protocolbox-0.1.4.tar.gz:

Publisher: publish.yml on ianuragbhatt/protocolbox

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

File details

Details for the file protocolbox-0.1.4-py3-none-any.whl.

File metadata

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

File hashes

Hashes for protocolbox-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 09be38bd785479045082cf94b17dab62dfcd5e794d703df347053bdaa93b1600
MD5 1342627d008a154379f85c5a110820ff
BLAKE2b-256 836d22e6a53745a0af08397ee312a9543c767b833b6ce1a7d1af4e02f62ce858

See more details on using hashes here.

Provenance

The following attestation bundles were made for protocolbox-0.1.4-py3-none-any.whl:

Publisher: publish.yml on ianuragbhatt/protocolbox

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