Skip to content

Implement streamable HTTP transport and improve development tooling #89

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from

Conversation

jacknagz
Copy link
Contributor

@jacknagz jacknagz commented Jun 8, 2025

Summary

  • Implements streamable HTTP transport to replace SSE transport
  • Fixes integration tests for reliable HTTP transport testing
  • Adds comprehensive repository documentation and development tooling

Key Changes

Streamable HTTP Transport Implementation

  • Replace SSE transport with FastMCP's streamable-HTTP in server.py
  • Update CLI options and help text for new transport type
  • Add proper error handling and graceful shutdown
  • Update documentation with streamable-HTTP examples

Integration Test Fixes

  • Fix streaming HTTP transport test that was failing with connection errors
  • Replace unreliable subprocess approach with threading for server startup
  • Handle expected 404 responses for root path (MCP servers don't expose general web interface)
  • Use correct /mcp/ endpoint with trailing slash to avoid redirects
  • Add proper server startup validation and error reporting

Development Tooling & Documentation

  • Add CLAUDE.md with essential development commands and architecture overview
  • Document MCP server patterns, registry system, and permission model
  • Include environment configuration and testing guidelines
  • Update README files with comprehensive transport examples

Test Plan

  • Integration tests now pass reliably
  • Streamable HTTP transport starts and accepts connections
  • MCP client can connect and execute tools over HTTP
  • Server handles graceful shutdown properly
  • Documentation is complete and accurate

🤖 Generated with Claude Code

jacknagz and others added 3 commits June 7, 2025 19:28
- Replace SSE transport with streamable-HTTP in server.py
- Update CLI options and documentation for new transport
- Fix streaming HTTP integration test with proper server startup
- Use threading approach instead of subprocess for test reliability
- Handle expected 404 responses and avoid redirect issues
- Update README files with streamable-HTTP examples

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@jacknagz jacknagz requested a review from a team as a code owner June 8, 2025 02:34
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@jacknagz jacknagz self-assigned this Jun 8, 2025
@jacknagz
Copy link
Contributor Author

@darwayne, this one is looking ready for final review. I'm curious how you'd recommend stdio vs. sse for docker images.

@jacknagz jacknagz closed this Jun 12, 2025
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.

2 participants