Skip to content

Bdn use fastmcp2.0 and dockerize - #8

Draft
opensourcemechanic wants to merge 20 commits into
mainfrom
bdn_use_fastmcp2.0
Draft

Bdn use fastmcp2.0 and dockerize#8
opensourcemechanic wants to merge 20 commits into
mainfrom
bdn_use_fastmcp2.0

Conversation

@opensourcemechanic

Copy link
Copy Markdown
Contributor

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • [x ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring

What Changed?

This change updates the python MCP library to fastmcp>=2.1.3 instead of mcp. This is a significant change which allows the streamable-http transport option. This version also contains compose.yaml and Docker file which allows it to run with in a docker container by making sure docker, docker-desktop or colima are installed on the host and then running:
docker compose up --build
or docker-compose up --build (macos)

Why?

The MCP protocol is only a little over a year old and significant changes to the standard python library came with fastmcp2.0+. It would be better to adapt to these changes now rather than later.

How Has This Been Tested?

  • I have tested this locally
    I've tested this server hosted on:

    • Microsoft Windows 11 laptop using Docker Desktop
    • MacOS Tahoe 26.1 laptop using docker-compose and colima
    • Ubuntu Linux 22.04.5 LTS (Jammy Jellyfish) running inside VirtualBox
  • I have added unit tests (if applicable)

  • All existing tests pass

Checklist

  • [x ] My code follows the code style of this project
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING.md document
  • My changes generate no new warnings or errors

Screenshots (if applicable)

Additional Context

Since this is a significant change I would appreciate other people testing it with their agents and hosted on their machines.

opensourcemechanic and others added 20 commits November 6, 2025 22:14
…ded Starlette and CORSMiddleware to main so server could handle http_streaming
…akes a containerized version of this mcp server come up on localhost:8001/mcp
…ced with the Microsoft/DOS convention of CRLF instead of the standard LF. It also updates .gitattributes so that this wont happen in the future

Normalize line endings to LF across all files

- Convert 9 plugin files from CRLF to LF
- Add .gitattributes to enforce LF line endings going forward
- Ensures consistent cross-platform development experience
 - Change in entry point from server.py/server_v2.py to main.py
 - This version requires fastmcp2.0
 - main.py now provides optional command line options:
      - `--stdio`: Run in stdio mode (default for AI assistants)
      - `--http`: Run in HTTP mode (default for web applications)
      - `--host HOST`: HTTP host (default: 127.0.0.1)
      - `--port PORT`: HTTP port (default: 8001)
- docker files are now provided which allow it to run in a docker container via docker compose up --build
…ation for Macos, Microsoft Windows and Ubuntu Linux and added examples of configuration for Claude desktop, Cursor and Windsurf connecting to the docker hosted MCP server.
@opensourcemechanic
opensourcemechanic marked this pull request as draft December 18, 2025 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant