A templated MCP server for demonstration and quick start.
Project description
sokrates-mcp
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
- Clone the repository if hosted:
git clone https://github.com/Kubementat/sokrates-mcp.git
cd sokrates-mcp
- 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:
- Tools are registered in
main.pyusing FastMCP decorators - Dependency management via pyproject.toml
- Configuration files stored in
$HOME/.sokrates-mcp/directory
Contributing Guidelines
- Fork the repository and create feature branches
- Follow PEP8 style guide with 4-space indentation
- 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 toolssrc/sokrates_mcp/mcp_config.py: Configuration managementsrc/sokrates_mcp/utils.py: Helper and utility methodssrc/sokrates_mcp/workflow.py: Business logic for prompt refinement and executionpyproject.toml: Dependency management
Common Error: If you see "ModuleNotFoundError: fastmcp", ensure:
- Dependencies are installed (
uv sync) - Python virtual environment is activated
Changelog
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sokrates_mcp-0.4.2.tar.gz.
File metadata
- Download URL: sokrates_mcp-0.4.2.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0df25be555e87b84b5855d4037c375885381e65c2ea021feee7b30834e6a1941
|
|
| MD5 |
55b2f6a20c13c8c6f42accea31429cb3
|
|
| BLAKE2b-256 |
7090a84c8dd80741a89571822e47206a8071f2d91cebe879fd49457f166f9926
|
File details
Details for the file sokrates_mcp-0.4.2-py3-none-any.whl.
File metadata
- Download URL: sokrates_mcp-0.4.2-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b72cce0c878d3dabcb4d14f5ac0bd1200d72323bc335576f93144aa4241b89a7
|
|
| MD5 |
97ff92afb4c720c9f135bef1ffb8af04
|
|
| BLAKE2b-256 |
d3a0eef3d2fc44dbb2bde75cf2e356a40ac8da591ba4d49b430a7fb725498eed
|