https://github.com/giannisalinetti/python-mcp-server
https://github.com/giannisalinetti/python-mcp-server
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/giannisalinetti/python-mcp-server
- Owner: giannisalinetti
- Created: 2025-04-28T20:36:43.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-04-29T07:10:47.000Z (5 months ago)
- Last Synced: 2025-05-05T05:08:15.664Z (5 months ago)
- Language: Go
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - giannisalinetti/python-mcp-server
README
# Sample MCP Server in Go.
This MCP server runs a Python environment when called that can be used to execute the code
generated by an LLM. It can be useful for scraping web content.This project is based on this [demo](https://www.youtube.com/watch?v=qoaeYMrXJH0) on YouTube with a few slight mods.
This demo uses [Podman](https://podman.io/) as the container engine instead of Docker.
## Build the project
This project requires Go 1.23+. To build locally:
```
$ go mod tidy && go install
```## Testing with a lab host
For testing use `mcphost`: https://github.com/mark3labs/mcphost
### Configure the MCP server
Edit the `~/.mcp.json` file adding the following content:
```
{
"mcpServers": {
"python-repl": {
"command": "python-mcp-server"
}
}
}
```This configuration tells the mcphost to run the `python-mcp-server` command aliased as `python-repl`.
### Running mcphost
This example uses Claude-3.5 Sonnet as the defaul LLM. This allows testing without a local GPU.Export the Anthropic key:
```
$ export ANTHROPIC_API_KEY='your-api-key'
```Execute the host
```
$ mcphost
```It should prompt something like this:
```
$ mcphost
2025/04/28 21:44:32 INFO Model loaded provider=anthropic model=claude-3-5-sonnet-latest
2025/04/28 21:44:32 INFO Initializing server... name=python-repl
2025/04/28 21:44:32 INFO Server connected name=python-repl
2025/04/28 21:44:32 INFO Tools loaded server=python-repl count=1
Enter your prompt (Type /help for commands, Ctrl+C to quit)
```From now on it is possible to prompt requests that imply a web scraping to see the MCP server in action.
```
Enter your prompt (Type /help for commands, Ctrl+C to quit)
Show me the most starred repositories on githubAssistant:
I'll create a script to fetch the most starred repositories from GitHub using their API:
2025/04/28 22:14:16 INFO 🔧 Using tool name=python-repl__execute-python
2025/04/28 22:14:16 INFO Usage statistics input_tokens=1665 output_tokens=309 total_tokens=1974
```