aleostudio MCP Server

aleostudio MCP Server

A lightweight MCP server providing utility tools for math, text processing, data conversion, and URL fetching. It supports both STDIO and SSE communication modes for seamless integration with Claude Desktop and remote AI agents.

Category
Visit Server

README

Simple MCP server with tools for AI agents

A fast and lightweight MCP server with different tools for AI agents. It supports STDIO (Claude Desktop) and SSE (remote agents).

Index


Prerequisites

  • Python >= 3.11
  • uv and pip installed

↑ index


Configuration

Init virtualenv and install dependencies with:

uv venv
source .venv/bin/activate
uv sync

Create your .env file by copying:

cp env.dist .env

Then, customize it if needed.

↑ index


Run server in STDIO mode

First of all, to test the server, install and run a MCP Inspector with:

npx @modelcontextprotocol/inspector uv run python -m app.main

At the end, a UI will open in your browser. Connect to the server by clicking Connect on the left menu.

Then, from the top bar, click on Tools and List tools. At this point you can choose you preferred tools and play with it.

If you want to test it without the inspector, simply launch with:

uv run python -m app.main

↑ index


Run server in SSE mode

If you want to use the server through SSE from remote agents, launch it with:

uv run python -m app.main --sse --port 8000

As the STDIO mode, you can test it with MCP Inspector (remote) with:

npx @modelcontextprotocol/inspector

If you want to simulate a tool call from a remote agent, create a simple STDIO client in python (e.g. stdio_test.py) with this code:

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def test():
    server_params = StdioServerParameters(command="uv", args=["run", "python", "server.py"], cwd="./")
    
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # Tools list
            tools = await session.list_tools()
            print("Tools:", [t.name for t in tools.tools])
            
            # Call calculate
            result = await session.call_tool("calculate", { "operation": "multiply", "a": 6, "b": 7 })
            print("Result:", result.content)

asyncio.run(test())

Then run with:

python3 stdio_test.py

You will see a the available tools list and the result of calculate.

↑ index


Configure Claude Desktop

If you want to use tools on Claude Desktop, create the file claude_desktop_config.json with this content:

{
  "mcpServers": {
    "mcp-server-tools": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-server", "python", "-m", "app.main"]
    }
  }
}

Move this file in:

  • macOS: ~/Library/Application Support/Claude
  • Windows: %APPDATA%\Claude

↑ index


Available tools

Tool Descrizione
calculate Math operations (add, subtract, multiply, divide, power)
get_datetime Date/hour with timezone and configurable format
process_text Text handler (word count, extract email/URL, stats)
fetch_url HTTP GET/HEAD requests
convert_data JSON, Base64, Hex conversions

↑ index


Create new tool

To create new tool you need to:

  • Create a new file (e.g. app/tools/my_new_tool.py)

  • Write your logic keeping this structure:

    from app.mcp import mcp
    
    @mcp.tool()
    def my_new_tool(your_param: str) -> dict[str, Any]:
      """
      Clear and exaustive tool description.
    
      Args:
          your_param: clear and exaustive param description
    
      Returns:
          Clear and exaustive result description
      """
    
      # YOUR LOGIC HERE
    
      if some_error:
          return {"success": False, "error": "Clear error description"}
      
      return {
          "success": True,
          "your_resp": "...",
          "other_resp": "...",
      }
    
  • Edit app/tools/__init__.py file and add your tool:

    from app.tools import my_new_tool
    
    __all__ = [
        "my_new_tool",
    ]
    
  • Restart your server

In the same way, if you want to delete an existing tool, simply delete it from __init__.py and delete the related .py file.

↑ index


Debug in VSCode

To debug your Python microservice you need to:

  • Install VSCode
  • Ensure you have Python extension installed
  • Ensure you have selected the right interpreter with virtualenv on VSCode
  • Click on Run and Debug menu and create a launch.json file
  • From dropdown, select Python debugger and FastAPI
  • Change the .vscode/launch.json created in the project root with this (customizing host and port if changed):
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "MCP Server (SSE)",
      "type": "debugpy",
      "request": "launch",
      "module": "app.main",
      "args": [
          "--sse",
          "--port", "8000",
          "--reload"
      ],
      "envFile": "${workspaceFolder}/.env",
      "console": "integratedTerminal",
      "cwd": "${workspaceFolder}",
      "justMyCode": true
    },
    {
      "name": "MCP Server (STDIO)",
      "type": "debugpy",
      "request": "launch",
      "module": "app.main",
      "args": [
          "--reload"
      ],
      "envFile": "${workspaceFolder}/.env",
      "console": "integratedTerminal",
      "cwd": "${workspaceFolder}",
      "justMyCode": true
    }
  ]
}
  • Put some breakpoint in the code, then press the green play button
  • Call the API to debug

↑ index


Made with ♥️ by Alessandro Orrù

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured