Skip to main content

A templated MCP server for demonstration and quick start.

Project description

sokrates-mcp

License: MIT Version: 0.4.3

A MCP server offering tools for prompt refinement and execution workflows using the FastMCP framework and the sokrates python library.

Features

  • Multiple provider/APU support
  • Available Model/Provider listing
  • Prompt refinement with different types (code/default)
  • External LLM processing
  • Task breakdown into sub-tasks
  • Create code reviews for Python source files
  • Generate random ideas
  • Generate ideas to a topic

Have a look at the sokrates library.

Installation & Setup

Prerequisites

Ensure you have:

  • Python 3.10+
  • uv (fast package installer)

Install from PyPi

pip install sokrates-mcp

# or using uv (recommended)
## basic version: 
uv pip install sokrates-mcp

Alternative - Local Configuration from git

  1. Clone the repository if hosted:
git clone https://github.com/Kubementat/sokrates-mcp.git
cd sokrates-mcp
  1. Install dependencies using pyproject.toml:
uv sync

Setup Server Configuration File

Via git installed version

mkdir $HOME/.sokrates-mcp
cp config.yml.example $HOME/.sokrates-mcp/config.yml
# edit the according endpoints to your use case
vim $HOME/.sokrates-mcp/config.yml

From scratch

Create the configuration file:

mkdir $HOME/.sokrates-mcp
vim $HOME/.sokrates-mcp/config.yml

Then use this as template and adjust it to your use case:

refinement_prompt_filename: refine-prompt.md
refinement_coding_prompt_filename: refine-coding-v3.md

# providers
default_provider: local
providers:
  - name: local
    type: openai
    api_endpoint: http://localhost:1234/v1
    api_key: "not-required"
    default_model: "qwen/qwen3-4b-2507"
  - name: external
    type: openai
    api_endpoint: http://CHANGEME/v1
    api_key: CHANGEME
    default_model: CHANGEME

Setup as mcp server in other tools (Example for LM Studio)

For local Git installed version

{
  "mcpServers": {
    "sokrates": {
      "command": "uv",
      "args": [
        "run",
        "sokrates-mcp"
      ],
      "cwd": "YOUR_PATH_TO_sokrates-mcp",
      "timeout": 600000
    }
  }
}

via uvx

{
  "mcpServers": {
    "sokrates": {
      "command": "uvx",
      "args": [
        "sokrates-mcp"
      ]
    }
  }
}

Usage Examples

Starting the Server

# from local git repo
uv run sokrates-mcp

# without checking out the git repo
uvx sokrates-mcp

Listing available command line options

# from local git repo
uv run sokrates-mcp --help

# without checking out the git repo
uvx sokrates-mcp --help

Architecture & Technical Details

The server follows a modular design pattern:

  1. Tools are registered in main.py using FastMCP decorators
  2. Dependency management via pyproject.toml
  3. Configuration files stored in $HOME/.sokrates-mcp/ directory

Contributing Guidelines

  1. Fork the repository and create feature branches
  2. Follow PEP8 style guide with 4-space indentation
  3. Submit pull requests with:
    • Clear description of changes
    • Updated tests (see Testing section)
    • Documentation updates

Available Tools

See the main.py file for a list of all mcp tools in the server

Project Structure

  • src/sokrates_mcp/main.py: Sets up the MCP server and registers tools
  • src/sokrates_mcp/mcp_config.py: Configuration management
  • src/sokrates_mcp/utils.py: Helper and utility methods
  • src/sokrates_mcp/workflow.py: Business logic for prompt refinement and execution
  • pyproject.toml: Dependency management

Common Error: If you see "ModuleNotFoundError: fastmcp", ensure:

  1. Dependencies are installed (uv sync)
  2. Python virtual environment is activated

Changelog

0.4.3 (Sep 2025)

  • bugfix in workflow class - fix refinement workflow

0.4.2 (Sep 2025)

  • Update version to 0.4.2

0.4.1 (Sep 2025)

  • fix roll_dice tool

0.4.0 (Aug 2025)

  • adds new tools:
    • read_files_from_directory
    • directory_tree
    • logging refactoring in workflow.py

0.3.0 (Aug 2025)

  • adds new tools:
    • roll_dice
    • read_from_file
    • store_to_file
  • refactorings - code quality - still ongoing

0.2.0 (Aug 2025)

  • First published version
  • Update to latest sokrates library version
  • bugfixes and cleanup
  • multi provider/API support in the configuration file

0.1.5 (July 2025)

  • Updated README with comprehensive documentation
  • Added tool descriptions and usage examples
  • Improved project structure overview

0.1.0 (March 7, 2025)

  • Initial release with refinement tools
  • Basic FastMCP integration

Bug reports and feature requests: GitHub Issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sokrates_mcp-0.4.3.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sokrates_mcp-0.4.3-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file sokrates_mcp-0.4.3.tar.gz.

File metadata

  • Download URL: sokrates_mcp-0.4.3.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for sokrates_mcp-0.4.3.tar.gz
Algorithm Hash digest
SHA256 07720493bd89fb4aa1bea7b6ee258746d19d257a3e4281770899d1b32c076e8a
MD5 3a2b7bd519d6d73c9cb1dd23781ca15f
BLAKE2b-256 038ace6e374b40c71bd780968bf111b52f677bb2ad7fb9103afe4f270522aeef

See more details on using hashes here.

File details

Details for the file sokrates_mcp-0.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sokrates_mcp-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 68a7dd09e16176b350f9370d6ff9184fa4bc3363d58f8e495aac55e77065e9a0
MD5 688bf90f37eeb4867fc6b357f39c28d5
BLAKE2b-256 58ef03f19fd67389dd31cc9e65fc683f8f3d4f95ac2d6834d4c42c7a646ef85c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page