aleostudio MCP Server
The aleostudio MCP Server is a lightweight Python server that provides AI agents with utility tools through the Model Context Protocol (MCP).
Available Tools:
calculate - Perform basic mathematical operations (add, subtract, multiply, divide, power)
get_datetime - Retrieve current date/time with configurable timezone offsets (UTC -12 to +14) and multiple output formats (ISO, human-readable, Unix timestamp, components)
process_text - Analyze and manipulate text with operations including word/character counting, case conversion (uppercase, lowercase, title case, reverse), email/URL extraction, and statistics summaries
fetch_url - Execute HTTP GET/HEAD requests to retrieve content, headers, and status codes from URLs
convert_data - Convert data between formats including JSON, Base64, and Hexadecimal
Deployment Options:
STDIO mode for local integration (e.g., Claude Desktop)
SSE mode for remote agent access via HTTP
Extensible architecture for creating custom tools following the provided template
Compatible with Python 3.11+ with VSCode debugging support and MCP Inspector testing
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aleostudio MCP Server calculate 125 multiplied by 8"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Python FastMCP Server
Prerequisites
Python >= 3.11
uv and pip installed
Configuration
Init virtualenv and install dependencies with:
uv venv
source .venv/bin/activate
uv syncCreate your .env file by copying:
cp env.dist .envThen, customize it if needed.
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.mainAt 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.mainRun 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 8000As the STDIO mode, you can test it with MCP Inspector (remote) with:
npx @modelcontextprotocol/inspectorIf 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.pyYou will see a the available tools list and the result of calculate.
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/ClaudeWindows:
%APPDATA%\Claude
Available tools
Tool | Descrizione |
| Math operations (add, subtract, multiply, divide, power) |
| Date/hour with timezone and configurable format |
| Text handler (word count, extract email/URL, stats) |
| HTTP GET/HEAD requests |
| JSON, Base64, Hex conversions |
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__.pyfile 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.
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.jsoncreated 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
Made with ♥️ by Alessandro Orrù
Available Tools
5 toolscalculateB
Execute basic math operation.
Args:
operation: operation to execute (add, subtract, multiply, divide, power)
a: first operand
b: second operand
Returns:
Operation result with details
Inputs: operation (required), a (required), b (required). Returns: object
convert_dataB
Convert data in different formats.
Args:
data: data to convert
from_format: source format (json, base64, hex)
to_format: destination format (json, base64, hex)
Returns:
Converted data
Inputs: data (required), from_format (required), to_format (required). Returns: object
fetch_urlA
Execute HTTP requests to external URLs.
Args:
url: URL to fetch
method: HTTP method (GET, HEAD)
Returns:
Status code, headers and content (truncated if too long)
Inputs: url (required), method. Returns: object
get_datetimeA
Get current date/time with configurable format.
Args:
timezone_offset: UTC offset in hours (-12 +14)
format_type: output format (iso, human, unix, components)
Returns:
Date/time in the required format
Inputs: timezone_offset, format_type. Returns: object
process_textC
Handle text with various operations.
Args:
text: text to handle
operation: action to perform (word_count, char_count, reverse, uppercase, lowercase, title_case, extract_emails, extract_urls, summarize_stats)
options: additional options for specific operations
Returns:
Operation result
Inputs: text (required), operation (required), options. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: calculate handles math operations, convert_data transforms data formats, fetch_url performs HTTP requests, get_datetime retrieves time information, and process_text manipulates text. The descriptions clearly differentiate their domains, making misselection unlikely.
All tool names follow a consistent verb_noun pattern (calculate, convert_data, fetch_url, get_datetime, process_text). The naming is uniform and predictable throughout the set, with no mixing of conventions or styles.
With 5 tools, this server is well-scoped for a utility toolkit. Each tool serves a distinct and useful function, and the count is appropriate for covering basic operations without being overly sparse or bloated.
The tool set covers a broad range of utility operations (math, data conversion, HTTP, datetime, text processing) with no obvious major gaps. Minor gaps might include more advanced HTTP methods (e.g., POST) or additional data formats, but the surface is largely complete for general-purpose tasks.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc.
Tiny devtools MCP server: slugs, timestamps, case conversion, hashing, base64, UUIDs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA self-contained, dependency-free MCP server that provides utility tools for time, date, mathematical calculations, and shell command execution. It supports remote connectivity through SSE and is designed for easy deployment via Docker.GPL 3.0
- FlicenseNot gradedqualityDmaintenanceA Python-based MCP server demonstrating basic math and text tools, supporting both SSE and STDIO transports for integration with AI assistants like Cline in VS Code.-
- AlicenseNot gradedqualityDmaintenanceA general-purpose MCP server with utility tools including datetime information, safe math calculations, text statistics, JSON extraction, knowledge base search, and HTTP GET requests. It demonstrates server-side MCP implementation and can be connected to Claude Desktop or LangGraph agents.MIT
- AlicenseAqualityCmaintenanceA small MCP server for the boring-but-essential utilities every model needs: dates, calendars, arithmetic, unit conversion. Use it so your assistant stops "next-token guessing" math and date math.450 PyPI1MIT