feat: Upgrade to FastMCP 2.x/MCP 1.25.0 and add HTTP transport mode support#88
Open
hpreston wants to merge 10 commits into
Open
feat: Upgrade to FastMCP 2.x/MCP 1.25.0 and add HTTP transport mode support#88hpreston wants to merge 10 commits into
hpreston wants to merge 10 commits into
Conversation
Test updates (test_mcp.py & test_endpoints_pytest.py): Updated imports to access .fn attribute from FunctionTool wrappers Changed all tests to call functions directly instead of mcp.call_tool() Fixed assertions to expect correct exception types Updated test_list_tools to use mcp.get_tools() (async) Updated test_tools_registration to check for get_tools instead of call_tool Test Results: ✅ 34/34 tests passing
* FastMCP, MCP package upgrades * additon of HTTP mode for MCP server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI-Assisted Changes
This PR was completed with assistance from GitHub Copilot using Claude Sonnet 4.5.
Overview
Major version bump to 0.4.0 including comprehensive dependency upgrades, FastMCP 2.x migration, and HTTP transport mode support. This update brings the Splunk MCP server up to date with the latest MCP protocol standards and modern Python tooling.
Key Changes
🚀 New Feature: HTTP Transport Mode
Added support for the current MCP standard HTTP transport alongside existing SSE and STDIO modes:
Design Decision: Maintained SSE as default for backward compatibility while documenting HTTP as the recommended mode for new deployments. See CHANGES/HTTP_MODE_SUPPORT.md for migration guidance.
📦 Dependency Upgrades
🔧 Breaking Changes & Fixes
mcp.server.fastmcp→fastmcp)description→instructions, removed deprecatedhost/port)✅ Test Results
All 34 tests passing across
test_mcp.pyandtest_endpoints_pytest.pyDocumentation
Migration Notes
For Existing Deployments
No action required - SSE mode remains the default. Existing deployments continue working without changes.
For New Deployments
Recommended: Use HTTP mode for alignment with MCP 1.25 standard:
For Testing
FastMCP 2.x changed the testing API from
mcp.call_tool()to direct function invocation via.fnattribute. See upgrade guide for migration patterns if you have custom tests.Testing
Run tests with:
uv run pytest --cov=splunk_mcpDocker validation:
./run_tests.sh --dockerTransport Mode Comparison
/mcp/sseVersion History