-
Notifications
You must be signed in to change notification settings - Fork 10
Release version 0.1.10 #31
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
Conversation
* Add CI/CD workflows for testing, version bumping, and PyPI publishing; enhance README with development and CI/CD details; implement comprehensive tests for MCPHub and MCPServers functionality. * Enhance CI workflow by installing all extras with Poetry * Refactor CI workflow to include version bumping and streamline package publishing using Poetry * Update README to clarify MCPHub installation options with framework-specific dependencies * Restrict pull request triggers to the release branch only * Update CI workflow to enable fail-fast strategy and restrict Python versions to 3.12 only * Refactor CI workflows to remove version bumping from CI and add tagging functionality; update README for clarity on automatic versioning and tagging process. * Refactor CI workflows to integrate version bumping and ensure proper versioning before publishing; update version-bump workflow to set outputs for new version. * Bump version to 0.1.6 in pyproject.toml * Refactor CI workflows: remove version-bump workflow and integrate version extraction and tagging directly in the publish job; update package version to 0.1.7 in pyproject.toml * Fix test data structure in TestMCPServersParams to match expected format Updated the mock data in the test for _load_predefined_servers_params to reflect the correct structure, ensuring that the "mcpServers" key wraps the predefined server details. This change enhances the accuracy of the test and aligns it with the actual implementation.
* Add CI/CD workflows for testing, version bumping, and PyPI publishing; enhance README with development and CI/CD details; implement comprehensive tests for MCPHub and MCPServers functionality. * Enhance CI workflow by installing all extras with Poetry * Refactor CI workflow to include version bumping and streamline package publishing using Poetry * Update README to clarify MCPHub installation options with framework-specific dependencies * Restrict pull request triggers to the release branch only * Update CI workflow to enable fail-fast strategy and restrict Python versions to 3.12 only * Refactor CI workflows to remove version bumping from CI and add tagging functionality; update README for clarity on automatic versioning and tagging process. * Refactor CI workflows to integrate version bumping and ensure proper versioning before publishing; update version-bump workflow to set outputs for new version. * Bump version to 0.1.6 in pyproject.toml * Refactor CI workflows: remove version-bump workflow and integrate version extraction and tagging directly in the publish job; update package version to 0.1.7 in pyproject.toml * Fix test data structure in TestMCPServersParams to match expected format Updated the mock data in the test for _load_predefined_servers_params to reflect the correct structure, ensuring that the "mcpServers" key wraps the predefined server details. This change enhances the accuracy of the test and aligns it with the actual implementation. * Add CLI commands and utilities for MCPHub configuration management - Implemented CLI commands for initializing, adding, removing, and listing MCP servers. - Created utility functions for loading and saving configuration files. - Added tests for CLI commands to ensure proper functionality and error handling.
#23) * Enhance test for 'init' command to skip config creation when it exists * Update tests/test_cli.py Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
…cies and clean up main dependencies section
* Enhance test for 'init' command to skip config creation when it exists * Refactor dependencies in pyproject.toml to separate optional dependencies and clean up main dependencies section
* solve test * remove legacy functions
#29) * Add SSE support for running MCP servers and enhance add command functionality * Refactor add_command in CLI to simplify configuration handling and remove client-specific logic
* Add SSE support for running MCP servers and enhance add command functionality * Refactor add_command in CLI to simplify configuration handling and remove client-specific logic * Enhance MCPHub CLI by adding functionality to add servers from GitHub repositories, including README parsing with OpenAI for configuration extraction. Update dependencies in pyproject.toml and improve logging and user feedback in CLI commands. * Refactor MCPHub CLI by removing the run_command function and associated argument parsing for running MCP servers. This change simplifies the codebase and prepares for future enhancements. * Enhance MCPHub CLI by adding a new process manager for handling server processes, improving environment variable checks, and implementing progress indicators for various commands. Update dependencies in pyproject.toml to include psutil for process management. * Update .gitignore to include .coverage file and add pytest-cov dependency in pyproject.toml. Remove unused server configuration functions from utils.py and enhance CLI tests for server management commands.
- Enhanced README with new documentation section including links to CLI, API, configuration guide, and examples. - Introduced a new README file for the MCPHub CLI, detailing installation, available commands, configuration, features, error handling, and contribution guidelines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces significant enhancements to the mcphub package by adding new features for MCP server management, real-time communication via SSE, improved integration with AI frameworks, and several documentation and dependency updates.
- Added automatic server configuration from GitHub using OpenAI to extract configuration from README files.
- Introduced SSE server support and updated CLI documentation.
- Updated and refactored internal schemas, configuration handling, and test suites while updating package dependencies.
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
tests/test_servers.py | Removed patches for predefined servers and updated tests according to the new configuration logic. |
tests/test_process_manager.py | Added comprehensive tests for the ProcessManager, ensuring port management and process control. |
tests/test_params.py | Removed tests for predefined server parameters to align with the updated configuration logic. |
src/mcphub/mcp_servers/schemas.py | Introduced a Pydantic-based schema for validating MCP server configuration. |
src/mcphub/mcp_servers/params.py | Refactored configuration loading, added GitHub README parsing & OpenAI integration, and removed fallback for predefined servers. |
src/mcphub/adapters/autogen.py | Updated adapter to use dedicated StdioServerParams when creating Autogen tool adapters. |
src/mcphub/cli/README.md | Added CLI documentation for SSE transport and updated usage examples. |
pyproject.toml | Incremented version and updated dependency requirements. |
examples/with_openai.py, with_langchain.py, with_autogen.py | Updated and added usage examples for different AI framework integrations. |
README.md | Expanded documentation to cover automatic server configuration and SSE usage for MCP servers. |
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
This pull request introduces significant enhancements to the
mcphub
package, focusing on new features for managing MCP servers, integration with AI frameworks, and improved configuration handling. Key changes include adding support for automatic server configuration from GitHub repositories, enabling Server-Sent Events (SSE) for real-time communication, expanding framework integrations with detailed examples, and updating dependencies and internal schemas.New Features for MCP Server Management:
add_server_from_repo
method to automatically configure MCP servers by analyzing their GitHub repository README using OpenAI. This requires an OpenAI API key and updates the.mcphub.json
file with the extracted configuration. (src/mcphub/mcp_servers/params.py
, src/mcphub/mcp_servers/params.pyL55-L101)_save_config
method to persist server configurations back to.mcphub.json
. (src/mcphub/mcp_servers/params.py
, src/mcphub/mcp_servers/params.pyL55-L101)Real-Time Communication with SSE:
mcphub run
command with SSE-specific options. This enables real-time updates and communication endpoints (/sse
and/message
). (README.md
, README.mdR205-R264)Expanded Framework Integrations:
MCPHub
, fetching tools, and running agents with complex tasks. (examples/with_openai.py
, [1];examples/with_langchain.py
, [2];examples/with_autogen.py
, [3]Updates to Configuration and Dependencies:
MCPServerConfigSchema
using Pydantic to validate and structure server configurations. (src/mcphub/mcp_servers/schemas.py
, src/mcphub/mcp_servers/schemas.pyR1-R15)pydantic
,rich
,openai
, andpsutil
. Addedpytest-cov
for development. (pyproject.toml
, [1] [2]0.1.9
. (pyproject.toml
, pyproject.tomlL7-R7)Minor Enhancements:
MCPHub
. (README.md
, README.mdR306-R308)StdioServerParams
class for Autogen adapters. (src/mcphub/adapters/autogen.py
, src/mcphub/adapters/autogen.pyL4-R22)