Skip to content

Adding client tests for streamable http against official GitHub Remote MCP Server #867

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

didier-durand
Copy link
Contributor

@didier-durand didier-durand commented Jun 18, 2025

Hi,

Github released a few days ago in Preview its official Remote MCP Server working on streamable http: https://github.blog/changelog/2025-06-12-remote-github-mcp-server-is-now-available-in-public-preview/

Tech details at https://docs.github.com/en/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server

So, we built some tests against this remote MCP server to validate fastmcp streamable http client against the independent implementation. They can be run on a basis of continuous testing.

To run them on the fastmcp repo, a Github PAT (Personal Access Token) has to be added [I don't have credentials to do it on fastmcp repo ]with name MCP_GITHUB_PAT to match code. It is converted to a corresponding env var by the Github action: see my own Github workflow runnning those tests as well on my Strands Agents repo: https://github.com/didier-durand/strands-serverless/blob/5b1d087fef53fa8df4b2278f825a1c1551262fc7/.github/workflows/build_python.yaml#L28

Those tests work fine on my laptop and fine on GithHub with PAT added

Testing started at 17:53 ...
Launching pytest with arguments /Users/didduran/dev/fastmcp/tests/client/test_github_mcp_remote.py --no-header --no-summary -q in /Users/didduran/dev/fastmcp/tests/client

============================= test session starts ==============================
collecting ... collected 7 items

test_github_mcp_remote.py::test_connect_disconnect 
test_github_mcp_remote.py::test_ping 
test_github_mcp_remote.py::test_list_tools 
test_github_mcp_remote.py::test_list_resources 
test_github_mcp_remote.py::test_list_prompts 
test_github_mcp_remote.py::test_call_tool_ko 
test_github_mcp_remote.py::test_call_tool_list_commits 

======================== 7 passed, 2 warnings in 7.01s =========================
PASSED                [ 14%]PASSED                              [ 28%]PASSED                        [ 42%]PASSED                    [ 57%]PASSED                      [ 71%]PASSED                      [ 85%]PASSED            [100%]
Process finished with exit code 0

@Copilot Copilot AI review requested due to automatic review settings June 18, 2025 16:20
@github-actions github-actions bot added the tests label Jun 18, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Adds a suite of asynchronous pytest tests to validate the StreamableHttpTransport client against GitHub’s new Remote MCP Server.

  • Introduces a fixture to configure the client with a GitHub PAT and base URL.
  • Covers connect/disconnect, ping, listing tools/resources/prompts, and tool invocation success/failure.

@didier-durand
Copy link
Contributor Author

@jlowin :
Hi,
let me know:

  1. if you want me to apply to Copilot suggestions. I am happy to do it.
  2. if you want some additional tests to be added for other client features to be tested against the Github MCP server. Give me your list and I'll write them

jlowin and others added 3 commits June 22, 2025 10:52
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
applying review suggestions

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@didier-durand
Copy link
Contributor Author

Applied remaining changes from review and updated branch. Can be merged now.

@didier-durand
Copy link
Contributor Author

Hi, what's blocking this merge?
it looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants