mcpField
M
MCP Server

MCP Server

Local
github.com/plusplusoneplusplusDeveloper Tools4Updated 47w ago

About MCP Server

MCP Server is a plugin-based framework and service for exposing command execution, data utilities, and knowledge-management tools to AI applications. It can run independently or be embedded, with HTTP/SSE endpoints and configurable YAML tool definitions.

Key features

  1. 01Plugin-based tool framework
  2. 02Synchronous and asynchronous command execution
  3. 03RestrictedPython expression evaluation
  4. 04DataFrame analysis and visualization UI
  5. 05YAML-based tool and prompt configuration
  6. 06Plugin installation and refresh

Use cases

  1. 01Executing scripts with captured output
  2. 02Analyzing and visualizing DataFrames
  3. 03Evaluating restricted Python expressions
  4. 04Adding Azure DevOps or Git plugins

MCP support

The server exposes registered tools through MCP, including command execution, browser automation, data services, and plugins. Clients can connect through its SSE endpoint.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

Installation

The project uses uv for dependency management. Install dependencies with:

uv sync

Or install in development mode using pip:

pip install -e .

Environment Setup

Configuration is controlled by .env files. Create one from the template and edit it with your settings:

cp config/env.template .env

Important variables include repository paths (GIT_ROOT), Azure Repo details (AZREPO_ORG, AZREPO_PROJECT, AZREPO_REPO), and optional PRIVATE_TOOL_ROOT for external tool configuration. The environment manager automatically loads .env files from the repository root, current directory, and your home directory.

Access settings in code via:

from config import env_manager
env_manager.load()
root = env_manager.get_git_root()

See docs/config_overview.md for more information.

Running the Server

After installing dependencies and configuring .env, start the server with:

uv run server/main.py

Connect to the SSE endpoint at http://0.0.0.0:8000/sse or use the additional routes in server/api.py. Background job endpoints are documented in docs/background_jobs_api.md.

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.

Configuration Files

The server loads prompts and tool definitions from YAML files:

  • server/prompts.yaml
  • server/tools.yaml

Private overrides can be placed in server/.private/ or in a folder pointed to by PRIVATE_TOOL_ROOT. Files are resolved in this order:

  1. PRIVATE_TOOL_ROOT
  2. server/.private/
  3. Defaults in server/

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.

Running Tests

Execute all test suites with:

scripts/run_tests.sh

Or run pytest directly on mcp_tools/tests, plugins/*/tests, or server/tests.

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.