Skip to main content
Glama
eagurin

MyAIServ MCP Server

by eagurin

MCP Server - Model Context Protocol API

FastAPI Python Poetry Prometheus GraphQL

MCP Server is a FastAPI-based implementation of the Model Context Protocol (MCP) that provides a standardized interface for interaction between LLM models and applications.

Peculiarities

  • 🚀 High-performance API based on FastAPI and asynchronous operations

  • 🔄 Full MCP support with resources, instruments, prompts and sampling

  • 📊 Monitoring and metrics via Prometheus and Grafana

  • 🧩 Extensibility through simple interfaces to add new tools

  • 📝 GraphQL API for flexible work with data

  • 💬 WebSocket support for real-time interaction

  • 🔍 Semantic search via integration with Elasticsearch

  • 🗃️ Caching via Redis for improved performance

  • 📦 Manage dependencies via Poetry for reliable package management

Related MCP server: MCP Platform

Getting Started

Installation

  1. Clone repository:

    git clone https://github.com/yourusername/myaiserv.git
    cd myaiserv
  2. Install Poetry (if not already installed):

    curl -sSL https://install.python-poetry.org | python3 -
  3. Install dependencies via Poetry:

    poetry install

Starting the server

poetry run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

Or via the just utility:

just run

After launch, the API is available at: http://localhost:8000

API Documentation

Project structure

myaiserv/
├── app/
│   ├── core/             # Базовые компоненты MCP
│   │   ├── base_mcp.py   # Абстрактные классы MCP
│   │   └── base_sampling.py  # Базовые классы для сэмплирования
│   ├── models/           # Pydantic модели
│   │   ├── mcp.py        # Модели данных MCP
│   │   └── graphql.py    # GraphQL схема
│   ├── services/         # Бизнес-логика
│   │   └── mcp_service.py # Сервис MCP
│   ├── storage/          # Хранилище данных
│   ├── tools/            # Инструменты MCP
│   │   ├── example_tool.py   # Примеры инструментов
│   │   └── text_processor.py # Инструмент обработки текста
│   ├── utils/            # Утилиты
│   └── main.py           # Точка входа FastAPI
├── app/tests/            # Тесты
├── docs/                 # Документация
│   └── MCP_API.md        # Описание API
├── pyproject.toml        # Конфигурация Poetry и инструментов
└── .justfile             # Задачи для утилиты just

Available tools

File System Tool

A file system tool that supports reading, writing, deleting and listing files.

curl -X POST "http://localhost:8000/tools/file_operations" \
     -H "Content-Type: application/json" \
     -d '{"operation": "list", "path": "."}'

Weather Tool

A tool for obtaining weather data by coordinates.

curl -X POST "http://localhost:8000/tools/weather" \
     -H "Content-Type: application/json" \
     -d '{"latitude": 37.7749, "longitude": -122.4194}'

Text Analysis Tool

A tool for text analysis, including sentiment detection and summarization.

curl -X POST "http://localhost:8000/tools/text_analysis" \
     -H "Content-Type: application/json" \
     -d '{"text": "Example text for analysis", "analysis_type": "sentiment"}'

Text Processor Tool

A tool for text processing, including formatting, statistics calculation, entity extraction.

curl -X POST "http://localhost:8000/tools/text_processor" \
     -H "Content-Type: application/json" \
     -d '{"operation": "statistics", "text": "Example text", "stat_options": ["chars", "words"]}'

Image Processing Tool

An image processing tool that supports resizing, cropping and applying filters.

curl -X POST "http://localhost:8000/tools/image_processing" \
     -H "Content-Type: application/json" \
     -d '{"operation": "resize", "image_data": "base64...", "params": {"width": 800, "height": 600}}'

WebSocket API

To connect to the WebSocket API:

const socket = new WebSocket("ws://localhost:8000/ws");

socket.onopen = () => {
  socket.send(JSON.stringify({
    type: "initialize",
    id: "my-request-id"
  }));
};

socket.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log("Received:", data);
};

GraphQL API

Examples of queries via GraphQL:

# Получение списка всех инструментов
query {
  getTools {
    name
    description
  }
}

# Выполнение инструмента
mutation {
  executeTool(input: {
    name: "text_processor",
    parameters: {
      operation: "statistics",
      text: "Example text for analysis"
    }
  }) {
    content {
      type
      text
    }
    is_error
  }
}

Running tests

To run tests, use Poetry:

poetry run pytest

Or via the just utility:

just test

Docker

Building and running via Docker Compose

docker compose up -d

To launch individual services:

docker compose up -d web redis elasticsearch

Integration with LLM

MCP Server provides a standardized interface for integration with LLM models from various vendors:

import httpx

async def query_mcp_with_llm(prompt: str):
    async with httpx.AsyncClient() as client:
        # Запрос к MCP для получения контекста и инструментов
        tools_response = await client.get("http://localhost:8000/tools")
        tools = tools_response.json()["tools"]

        # Отправка запроса к LLM с включением MCP контекста
        llm_response = await client.post(
            "https://api.example-llm.com/v1/chat",
            json={
                "messages": [
                    {"role": "system", "content": "You have access to the following tools:"},
                    {"role": "user", "content": prompt}
                ],
                "tools": tools,
                "tool_choice": "auto"
            }
        )

        return llm_response.json()

Metrics and monitoring

MCP Server provides metrics in Prometheus format via the /metrics endpoint. Metrics include:

  • Number of requests to each tool

  • Query execution time

  • Errors and exceptions

Development

To format code and check it with linters:

just fmt
just lint

License

MIT License

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A high-performance Model Context Protocol (MCP) server designed for large language models, enabling real-time communication between AI models and applications with support for session management and intelligent tool registration.
    2
    MIT
  • -
    license
    -
    quality
    -
    maintenance
    High-performance Model Context Protocol server supporting multiple LLM providers (OpenRouter, OpenAI, Groq) with WebSocket API and conversation history persistence.
  • F
    license
    -
    quality
    -
    maintenance
    A production-ready Model Context Protocol server built with FastAPI, featuring JWT authentication, PostgreSQL database support, Redis caching, and comprehensive health monitoring for building secure async API applications.

View all related MCP servers

Related MCP Connectors

  • MCP (Model Context Protocol) server for Appwrite

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eagurin/myaiserv'

If you have feedback or need assistance with the MCP directory API, please join our Discord server