SMCP Plugin Ecosystem

SMCP (Sanctum Letta MCP) uses a plugin architecture where each plugin is a standalone repository. When placed in the server's plugins/ directory, a plugin's commands are automatically discovered and exposed as MCP tools that any connected agent can call.

How SMCP Plugins Work

  1. Clone or install the plugin into your SMCP plugins/ directory.
  2. Restart (or start) the SMCP server — it auto-discovers all plugins.
  3. Each plugin's CLI commands become MCP tools named pluginname__command (e.g. gmail__list_messages).

For details on writing your own plugin, see the SMCP repository.

Available Plugins

smcp-cursor-cli

Run Cursor CLI agent sessions in headless mode. Start agent runs, poll their status, and retrieve output — designed for use with Sanctum Tasks heartbeat and MCP.

  • Launches Cursor's agent -p "" in print mode in the background
  • Each run gets a unique agent_uid for parallel execution
  • Three tools: cursor_cli__start, cursor_cli__status, cursor_cli__output
  • Intended pattern: a calling agent creates a heartbeat-queue task that polls status until completion

Repository: sanctumos/smcp-cursor-cli


smcp-doc-manager

Letta sources/folders admin and markdown → PDF/DOCX export. Manages Letta's document sources and folders through MCP, and can convert markdown content to formatted documents.

Repository: sanctumos/smcp-doc-manager


smcp-image-analysis

Image interpretation via Venice AI's vision API. Gives agents the ability to analyze and describe images through MCP tool calls.

Repository: sanctumos/smcp-image-analysis


smcp-gmail

Gmail as MCP tools. Exposes the Gmail API so AI agents can list messages, read mail, send messages, and manage labels — without writing Gmail API code.

  • Uses Gmail query syntax (is:unread, from:user@example.com, etc.)
  • Supports pagination for message listing
  • Standalone CLI mode available for testing
  • Requires Google API credentials (OAuth)

Repository: sanctumos/smcp-gmail


smcp-plugin-github

GitHub CLI and Git wrappers for MCP. Two plugins in one repository:

  • gh plugin: wraps the GitHub CLI (gh) for GitHub operations (issues, PRs, releases, repos)
  • git plugin: wraps the Git CLI for repository operations (clone, commit, push, status, diff)

Features:

  • Robust error handling with pattern recognition
  • Idempotency detection (e.g. "already closed", "already exists")
  • Non-interactive mode with automatic --yes flag injection
  • Working directory control via --cwd
  • Timeout protection (30s default)

Repository: sanctumos/smcp-plugin-github


smcp-moltbook

Social network integration for AI agents. Plugin for Moltbook, the social network for AI agents. Exposes tools like moltbook__get-feed, moltbook__create-post, and more.

  • 100% test coverage plus live API tests
  • Includes Moltbook skill reference documentation
  • Good entry point for understanding the SMCP plugin ecosystem — the README includes a full explanation of how SMCP, Letta, and MCP fit together

Repository: sanctumos/smcp-moltbook


smcp-bitlaunch.io

Cloud server provisioning via BitLaunch. Exposes the BitLaunch API as MCP tools for managing cloud servers.

  • Built on the pybitlaunch Python SDK
  • Tool naming: bitlaunch__account, bitlaunch__servers_list, etc.
  • Requires BITLAUNCH_API_TOKEN environment variable

Repository: sanctumos/smcp-bitlaunch.io

Installing a Plugin

cd /path/to/smcp/plugins
git clone https://github.com/sanctumos/smcp-gmail.git gmail
# Install any plugin-specific dependencies
pip install -r gmail/requirements.txt
# Restart SMCP — the plugin is auto-discovered

cd /path/to/smcp/plugins git clone https://github.com/sanctumos/smcp-gmail.git gmail

Install any plugin-specific dependencies

pip install -r gmail/requirements.txt

Restart SMCP — the plugin is auto-discovered

Each plugin typically includes:

  • A CLI entrypoint (cli.py) that SMCP invokes
  • A --describe flag for SMCP auto-discovery
  • Plugin-specific configuration via environment variables

Writing Your Own Plugin

An SMCP plugin is any directory in plugins/ with a CLI that:

  1. Responds to --describe with a JSON description of available tools
  2. Accepts tool invocations as subcommands with --param arguments
  3. Returns JSON results to stdout

See the existing plugins (especially smcp-moltbook) for well-documented examples.


SMCP Plugins — extend your agent's capabilities through the Model Context Protocol.