Labsco
plusplusoneplusplus logo

MCP Server

โ˜… 4

from plusplusoneplusplus

A framework for AI-powered command execution and a plugin-based tool system. It can be run as a standalone service or embedded in other projects to expose a consistent API for invoking tools and managing tasks.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

MCP Server

The MCP Server provides a comprehensive framework for AI-powered command execution, plugin-based tools, and advanced features including synchronous script execution, secure Python evaluation, and knowledge management. It can be run as a standalone service or embedded in other projects to expose a consistent API for invoking tools and managing tasks.

Project Structure

  • mcp_tools/ โ€“ Plugin framework and built-in tools with enhanced concurrency management
  • server/ โ€“ Starlette server implementation with HTTP/SSE endpoints and DataFrame UI
  • plugins/ โ€“ Extensible plugins (Azure DevOps, Git tools, knowledge indexing, Kusto, CircleCI)
  • config/ โ€“ Environment manager and configuration helpers
  • utils/ โ€“ Core utilities (async jobs, graph interface, memory management, vector store, PyEval)
  • scripts/ โ€“ Installation, utility scripts, and automated submission workflows
  • assets/ โ€“ Images and documentation resources

Docker

A Dockerfile is included for running the server in a container. Build the image with:

docker build -t mcp-server .

Then start the container exposing port 8000:

docker run -p 8000:8000 mcp-server

See docs/docker.md for more details.

Tool System

Tools are modular plugins registered through mcp_tools. Built-in utilities include:

  • Command Executor โ€“ Synchronous and asynchronous command execution with run-to-completion support
  • Browser Automation โ€“ Playwright integration for web interaction
  • PyEval โ€“ Secure Python expression evaluation using RestrictedPython
  • DataFrame Service โ€“ Data analysis and visualization with web interface
  • Time Helpers โ€“ Time-based utilities and scheduling
  • YAML Tool Loader โ€“ Dynamic tool definitions from YAML files

Additional plugins in the plugins/ directory include Azure DevOps integration, Git operations, knowledge indexing, Kusto queries, and CircleCI workflows. See mcp_tools/docs/creating_tools.md for details on building custom tools.

The web interface offers comprehensive dashboards:

  • /tools โ€“ Browse all registered tools and view their details
  • /dataframes โ€“ Interactive DataFrame management and visualization
  • /knowledge โ€“ Knowledge graph exploration and management
  • /pyeval โ€“ Secure Python evaluation interface

Plugin Management

External plugins can be installed by declaring them in plugin_config.yaml. Each entry should specify a plugin_repo in the form owner/repository and an optional sub_dir if the plugin lives in a subfolder. Example:

plugins:
   - plugin_repo: "github_owner/repo"
     sub_dir: "path/to/plugin"
     type: "python"

Run the mcp_admin tool with the refresh_plugins operation to clone or update plugins based on this configuration. Pass force=true to remove all installed plugins before reinstalling.

Key Features (v0.2.0)

  • Run-to-Completion Execution โ€“ Synchronous script execution with comprehensive output capture
  • PyEval Security โ€“ Safe Python expression evaluation using RestrictedPython
  • Enhanced DataFrame UI โ€“ Responsive web interface for data analysis and visualization

Where to Go Next

  1. Browse the documentation under mcp_tools/docs/ and docs/ to learn about tool creation, dependency injection, and advanced features.
  2. Review the sample configuration files in server/ and try adding your own tools.
  3. Explore plugins in the plugins/ directory for concrete implementations.
  4. Check the utils/ directory for advanced utilities like vector stores, graph interfaces, and memory management.
  5. See the CHANGELOG.md for detailed release notes and recent updates.

Editor Integration

Editors like Cursor/VSCode can use the SSE endpoint by adding the following to your settings:

{
  "mcpServers": {
    "mymcp-sse": { "url": "http://0.0.0.0:8000/sse" }
  }
}

Demo Screenshots

MCP Server Configuration MCP Server async command execution