MCP Playground
Requirements
- Python 3.13
- uv package manager
- SQLite3
Installation
-
Clone the repository
git clone <repository-url> cd mcp_playground -
Install dependencies with uv
uv sync -
Setup the SQLite database
- Create a new SQLite database file using the provided schema.
cd dbsqlite3 database.db < schema.sql- Insert dummy data into the database.
sqlite3 database.db < insert_data.sql -
Start the venv (if you want to start the server manually)
source .venv/bin/activate
Usage
Starting the server
The server currently uses IO for communication. It is not meant to be started manually, instead it should be accessed through an MCP client.
Implemented Functions
The following functions are implemented in the server:
-
db_schema(resource)- Returns the database schema by reading the
schema.sqlfile.
- Returns the database schema by reading the
-
get_users(tool)- Fetches a list of all user names from the
userstable in the database.
- Fetches a list of all user names from the
-
get_all_employee_profiles(tool)- Retrieves all employee profiles
-
send_email(tool)- Sends an email using mailtrap.
- Requires API-key in .env file:
MAILTRAP_API_TOKEN=your_mailtrap_api_key
-
propose_team_for_project(prompt)- Given a project description and team size, proposes a team of employees best suited for the project based on their skills and experience.
Integration with Claude Desktop as the MCP client
Add the following configuration to your MCP client (e.g., Claude Desktop):
- Settings → Developer → Edit config →
claude_desktop_config.json mcpServers: The server name, in this casenot-solita-corp.command: The ABSOLUTE path to theuvexecutable on your system.args: The arguments to start the MCP server, including the ABSOLUTE path to themcp_playgrounddirectory.- Note: Windows paths use backslashes (
\).
{
"mcpServers": {
"mcp_demo": {
"command": "/path/to/user/.local/bin/uv",
"args": [
"--directory",
"/path/to/user/mcp_playground",
"run",
"server.py"
]
}
}
}
