Skip to content

Conversation

@CodeWithKyrian
Copy link
Contributor

This PR introduces a Docker-based conformance testing infrastructure using Nginx and PHP-FPM, enabling proper testing of sampling functionality.

Motivation & Context

The sampling tool was stuck during conformance tests (#211). As explained in my comment on the issue, this happens because PHP's built-in server (php -S) is single-threaded.
I chose Nginx + PHP-FPM over alternatives (Symfony CLI, FrankenPHP) because it's the most production-realistic setup and tests what users will actually deploy.

What's Changed

  • Added Docker-based conformance server with Nginx + PHP-FPM
  • Moved conformance tests from examples/server/conformance/ to tests/Conformance/
  • Updated Makefile with a single conformance-tests target
  • Updated CI pipeline to use Docker-based conformance testing
  • Enabled the test_sampling tool in conformance server

Fixes #211

@CodeWithKyrian CodeWithKyrian force-pushed the fix/conformance-sampling-docker branch from 15fb9c8 to 6e15535 Compare January 1, 2026 18:34
@chr-hertel
Copy link
Member

chr-hertel commented Jan 2, 2026

Hey @CodeWithKyrian, thanks for jumping on that - I guess that's the way to go 👍

However, just checking out the branch and running make conformance-tests doesn't work right away - will have another look later, but assume it's working for you looking at the pipeline 👍

okay, was an issue with logs and sessions folder being not writable to the php runtime within the container - could be a local issue tho

Copy link
Member

@chr-hertel chr-hertel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @CodeWithKyrian! 👍

@chr-hertel chr-hertel merged commit 4c3e5e6 into modelcontextprotocol:main Jan 2, 2026
16 checks passed
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.

[Server][Conformance] Tool with sampling gets stuck

2 participants