Skip to content

thedcfix/MCP-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP-Server

Simple MCP (Model Context Protocol) server with a Flask-based web GUI

Overview

This is a simple MCP server implementation that exposes various tools through a web-based GUI. The server includes several example tools that demonstrate different functionalities:

  • calculate: Perform basic mathematical operations (add, subtract, multiply, divide)
  • text_analyzer: Analyze text and provide statistics (word count, character count, etc.)
  • timestamp: Get current timestamp in various formats
  • string_transform: Transform strings (uppercase, lowercase, reverse, title case)
  • fibonacci: Generate Fibonacci sequence

Installation

  1. Clone this repository:
git clone https://github.com/thedcfix/MCP-Server.git
cd MCP-Server
  1. Install dependencies:
pip install -r requirements.txt

Usage

  1. Start the Flask server:
python app.py
  1. Open your web browser and navigate to:
http://localhost:5000
  1. The GUI will display:
    • Server information and statistics
    • List of all available tools with their descriptions and parameters
    • A test section where you can execute tools with custom parameters

API Endpoints

The server exposes the following REST API endpoints:

  • GET / - Web GUI interface
  • GET /api/tools - List all available tools
  • GET /api/server-info - Get server information
  • POST /api/execute - Execute a tool with parameters

Example API Usage

# List all tools
curl http://localhost:5000/api/tools

# Execute the calculate tool
curl -X POST http://localhost:5000/api/execute \
  -H "Content-Type: application/json" \
  -d '{"tool_name": "calculate", "parameters": {"operation": "add", "a": 10, "b": 5}}'

# Analyze text
curl -X POST http://localhost:5000/api/execute \
  -H "Content-Type: application/json" \
  -d '{"tool_name": "text_analyzer", "parameters": {"text": "Hello world!"}}'

Project Structure

MCP-Server/
├── app.py              # Flask web application
├── mcp_server.py       # MCP server implementation with tools
├── templates/
│   └── index.html      # Web GUI template
├── requirements.txt    # Python dependencies
└── README.md          # This file

Adding New Tools

To add a new tool to the MCP server:

  1. Open mcp_server.py
  2. Add a new method to handle the tool (e.g., _my_tool)
  3. Register the tool in the _register_tools() method with its metadata
  4. The tool will automatically appear in the web GUI

License

MIT License

About

Simple MCP server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •