caf28e0main99%
feat: re-introduce MCP Store support (#80)
* chore: update dependencies in deno.lock to latest versions, including @openai/openai@4.98.0 and zod@3.24.4
* feat: add fetchRemoteServerConfig method to McpServerManager for retrieving server configuration from a remote endpoint
* chore: update deno.lock
* feat: add MCP API base URL retrieval and refactor server configuration registration method in McpServerManager
* chore: update deno.lock to include @std/assert@1.0.13 and @std/internal@1.0.7
* feat: add endpoint to register MCP server from registry and update McpServerIdSchema description
* fix: update MCP server registration endpoint to use consistent URL structure
* fix: rename MCP API base URL variable for clarity
* fix: update MCP server registration URL to include '/config' for accurate configuration retrieval
* chore: update .env.example to include MCP_SERVER_REGISTRY_URL for server configuration
* refactor: change MCP server routes for consistency
* fix: update server registration logic to handle response structure and default name
* fix: update server registration logic to handle optional name and parse configuration correctly
* chore: update deno.lock to align dependency versions and ensure compatibility
* feat: implement OAuth authentication for MCP clients and enhance connection handling
* refactor: improve storage directory handling and token saving logic in McpOAuthProvider
* refactor: improve OAuth authentication flow with retry logic and better error handling
* feat: implement OAuth flows with PKCE and dynamic client registration
* refactor: enhance MCP client connection logic with improved error handling and authentication verification
* refactor: streamline MCP client creation and enhance OAuth provider initialization logic
* feat: add method to clear all stored OAuth authentication data for all servers
* refactor: clean up McpServerManager by removing unnecessary console logs and improving clarity in server registration and OAuth data clearing logic
* refactor: enhance McpClient connection logic with OAuth in-progress handling and improve directory structure for OAuth credentials
* refactor: update oauthBaseDir retrieval in McpServerManager to use default server storage path for improved clarity
* feat: add openid-client dependency and implement McpOAuthProviderV2 for enhanced OAuth 2.0 support
* refactor: consolidate McpOAuthProvider implementation by removing McpOAuthProviderV2 and updating utility functions for PKCE and OAuth handling
* refactor: replace Deno.mkdir with ensureDir for consistent directory creation across McpOAuthProvider, McpServerManager, EditFileTool, and data utility functions
* chore: update deno.lock to reflect dependency version changes and clean up unused entries
* refactor: rename state variable to currentState in McpOAuthProvider for clarity and internal use indication
* chore: update deno.lock to include new dependencies and normalize version specifications for consistency
* chore: add @panva/openid-client dependency and update deno.lock for new version specifications
* chore: update deno.lock to normalize version specifications and import @panva/openid-client correctly in McpOAuthProvider
* chore: update import statement for @panva/openid-client in McpOAuthProvider for consistency
* chore: fix deps
* refactor: remove outdated examples and comments from MCP utility functions for clarity and maintainability
* refactor: simplify assignment of AbortController in createAgentRouter for improved readability
* refactor: update McpClient and McpOAuthProvider to use private class fields for better encapsulation and consistency in naming conventions
* feat: implement OAuth authentication for MCP servers with new RemoteOAuthProvider and update CLI for OAuth integration
* feat: enhance OAuth integration with automatic server registration and improved error handling in RemoteOAuthProvider
* refactor: streamline McpClient by removing authentication retry logic and simplifying connection process
* feat: enhance OAuth provider functionality with server-specific callback handling and improved error management
* refactor: remove legacy OAuth callback handling and streamline server registration process in createOAuthRouter
* refactor: enhance OAuth provider integration by modularizing server URL retrieval and improving callback processing in createOAuthRouter
* refactor: remove OAuth routes and related logic from API server to streamline codebase and improve maintainability
* refactor: enhance error handling in API server by integrating McpServerError management and improving port parsing logic
* refactor: remove McpServerError handling from errorHandler in API server to simplify error response logic
* refactor: update OAuth callback handling in API server to use GET request with query parameters, improve error handling, and enhance success response formatting
* refactor: improve OAuth response generation and error handling in MCP server routes, ensuring clearer error propagation and handling for registry-based registrations
* refactor: improve OAuth response structure and error handling in MCP server routes, enhancing clarity and consistency in error messages and instructions for OAuth authentication
* refactor: streamline OAuth response handling in MCP server routes by removing redundant error handling and simplifying success response format, enhancing overall clarity and maintainability
* refactor: update type imports in various files for improved clarity and consistency, and remove obsolete software version from OAuth provider configuration
* refactor: update type imports for improved clarity and consistency across multiple files, enhancing code maintainability
* feat: add OAuth authentication endpoints and response schemas to API specification, enhancing support for OAuth flows in MCP server registration and management
* refactor: enhance error handling and server registration logic in MCP client and server manager, improving clarity in OAuth error logging and utilizing friendly names for server registration
* refactor: improve code readability by standardizing string formatting and enhancing error message clarity in MCP client and server manager
* refactor: enhance MCP client and server manager by standardizing server ID usage, improving error messages, and clarifying registration logic with friendly names
* chore: remove deprecated Docker OAuth example files, including docker-compose.yml, env.example, and README.md, to streamline project structure and eliminate outdated configurations
* chore: remove outdated OAuth documentation files to streamline project resources and eliminate redundancy in container authentication guidance
* refactor: change private to #
* refactor: differentiate id and serverName for the mcp server to better handle registration from mcp-store
* feat: add timeout for oauth
* docs: add Docker OAuth configuration section to README and enhance RemoteOAuthProvider for Docker compatibility
* feature: auto-detection of host and protocol from requests
* feat: implement automatic detection and registration for open MCP servers without authentication
* chore: remove unused MCP utility functions to clean up codebase and improve maintainability
* chore: update test command in deno.json to include memory leak tracing for improved test reliability
* refactor: update MCP server deregistration to use server name instead of ID for improved clarity and maintainability
* fix: enhance OAuth error handling
* chore: format code
* fix: improve OAuth error detection and handling in McpServerManager
* feat: enhance OAuth provider configuration to support dynamic client names and callback URLs
* fix: update OAuth callback URL handling to include serverId as a query parameter for improved client identification
* fix: improve logging for clientName and callbackUrl in MCP router for better debugging
* fix: add logging for callback URL in BaseMcpOAuthProvider to aid in debugging
* fix: add detailed logging for OAuth response generation to enhance debugging capabilities
* fix: update error response status code in MCP router to 500
* fix: include error messages in the oauth message return
* refactor: mcp type refactor
* feat: enhance cursor configuration with CLI and remote server support, add validation tests
* refactor: clean up import statements and improve code formatting in McpServerManager and cursor modules
* refactor: rename LocalServer to ZypherMcpServer and update related types and functions for consistency; add utility function to extract configuration from ZypherMcpServer
* refactor: streamline McpClient and McpServerManager by removing unused ConnectionMode enum, simplifying client configuration, and introducing a new transport utility for connection mode determination
* refactor: update McpServerManager to utilize ZypherMcpServer type, streamline server registration and configuration handling, and enhance logging for better clarity
* refactor: update #createMcpClient method to be asynchronous, adjust server data handling in McpServerManager, and ensure proper parsing with ZypherMcpServerSchema for improved type safety and performance
* refactor: migrate oauth flow from McpServerManager to McpClient
* refactor: update McpClient to use ZypherMcpServer
* refactor: add #mcpClientMap
* refactor: modularize tool discovery and management in McpClient and McpServerManager, enhancing code organization and maintainability
* refactor: add streamable http client support
* refactor: enhance McpClient and McpServerManager to support remote server configurations, streamline connection handling, and improve type safety with updated ZypherMcpServer structure
* refactor: enhance McpClient connection handling by introducing a new connection mode and improving error management with custom error types
* refactor: handle mcp connection mode
* refactor: refactor server register flow
* refactor: improve McpClient argument handling
* refactor: update argument handling in extractConfigFromZypherMcpServer and adjust transportType in tests
* refactor: convert properties to private class fields in NodeOAuthClientProvider for improved encapsulation
* refactor: rename NodeOAuthClientProvider
* refactor: enhance OAuth handling in McpClient and McpServerManager by integrating McpOAuthClientProvider for improved authentication flow
* refactor: streamline OAuth integration across Mcp components
* refactor: update connection mode handling
* refactor: remove RemoteOAuthProvider from API and CLI, streamline OAuth handling in Mcp components
* refactor: enhance OAuth flow in McpOAuthClientProvider with state management and callback server integration
* refactor: update MCP server registration to use dynamic callback port and host configuration
* refactor: enhance McpClient and McpServerManager with command parsing and improved server config fetching
* refactor: update McpClient and McpServerManager to include isFromMcpStore flag for improved argument handling
* refactor: simplify argument construction in McpClient for improved readability
* refactor: add state management to the mcp client
* refactor: integrate redirect capture for OAuth flow in MCP server registration
* refactor: extract redirect capture utility for cleaner OAuth handling in MCP
* refactor: refactor error handling
* refactor: simplify McpServerManager and McpClient by removing OAuth provider factory and enhancing error handling
* feat: enhance error handling in API server by integrating McpError class for improved status code responses
* refactor: streamline MCP server registration process and enhance error handling in API server
* refactor: remove lockfile management functions from auth config and enhance McpClient with tool management tests
* refactor: enhance McpClient status management and improve connection handling
* refactor: improve authentication error handling in McpClient and enhance connection status reporting
* chore: update mcp sdk version
* chore: update deno.lock with new dependency versions and integrity checks
* chore: update rolldown dependency to version 1.0.0-beta.24 and remove outdated references
* chore: downgrade rolldown dependency to version 1.0.0-beta.9
* chore: update deno.lock with new rolldown
* fix: dependency problem
* fix: correct import path for StreamableHTTPClientTransport in McpClient
* refactor: enhance McpClient connection status management by adding 'connecting' state and updating error handling
* refactor: extend McpClient status management by adding 'disabled' state and implementing toggleEnabled method
* refactor: add optional status field
* feat: add index file to export MCP types
* feat: implement OAuth callback handling in MCP server and enhance API specifications
* fix: update default callback path for MCP OAuth client to align with new routing structure
* feat: include server ID in OAuth
* test: add comprehensive integration tests for McpClient functionality
* fix: update OAuth callback handling to use serverId parameter for improved clarity and error handling
* fix: enhance error handling in validating MCP registry URL and response status
* fix: update zod import to type-only in auth config
* chore: remove obsolete authentication and configuration files to streamline codebase
* feat: add MCP store client dependency and enhance server configuration handling
* feat: update @corespeed/mcp-store-client to version 1.1.2 and enhance MCP server registration functionality
* feat: update .env.example to include MCP Store base URL configuration
* refactor: replace RegistryProvider with McpStoreClient for server discovery and update related utilities
* feat: add fetch option to McpStoreClient for enhanced server communication
* deploy: Comment out npm package build step in workflow
Comment out the npm package build step due to node_fetch issue.
* chore: update @corespeed/mcp-store-client to version 1.1.3 in deno.json and deno.lock
* chore: remove .claude/settings.local.json
* feat: add CLI for Zypher Agent with model provider integration and tool registration
* chore: remove obsolete cursor configuration and related utilities
* docs: clarify McpServerEndpoint id and displayName descriptions for better understanding
* feat: add optional displayName property to McpServerEndpoint type for improved endpoint identification
* refactor: consolidate MCP registry utilities into utils.ts and remove obsolete registry module
* feat: implement registry configuration for MCP utilities to streamline command building
* feat: add listRegistryServers method to McpServerManager for paginated server retrieval
* test: add comprehensive tests for McpServerManager functionality including server registration, deregistration, and tool management
* test: remove redundant test for default registry client in McpServerManager
* test: remove McpServerManager test file to streamline test suite
* feat: extend McpServerState interface to include server ID and source properties for enhanced server management
* docs: enhance McpServerState interface documentation for server ID clarity
* feat: enhance registerServer method in McpServerManager to accept optional ID and source parameters for improved server registration flexibility
* feat: add listServers method to McpServerManager for retrieving all server states
* fix: update McpServerManager to use API key from environment variable for registry client configuration
* fix: ensure API key is set to an empty string if not provided in McpServerManager configuration
* docs: remove example from registerServerFromRegistry JSDoc in McpServerManager for clarity
* chore: update @corespeed/mcp-store-client dependency to version 1.7.0 and refactor McpServerManager methods for improved server registration and pagination handling
* refactor: update McpServerManager to utilize ServerDetail for server registration and adjust test cases for consistent server ID formatting
* refactor: rename McpStoreClient to McpStoreSDK in McpServerManager for consistency with updated dependency
* chores: update src/mcp/McpServerManager.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor: rename server ID to registryId in McpServerState and update related references in McpServerManager for clarity
* chore: update McpServerManager to use new MCP Store base URL and set API key to an empty string
* refactor: add convertToRecord utility function to streamline header and environment variable processing in convertServerDetailToEndpoint
* refactor: enhance buildArgs functions to accept runtime and package arguments for improved command flexibility
* refactor: update command arguments in RegistryProvider tests for improved consistency and clarity
* refactor: extract argument parsing logic into helper function in utils.ts
* refactor: remove UUID support from registerServerFromRegistry, accept only package identifiers
* refactor: introduce McpServerSource discriminated union type for server metadata
* refactor: replace ternary operator with nullish coalescing operator
* refactor: rename unit test to convertServerDetailToEndpoint.test.ts and remove unnecessary describe level
* chore: revert deno.lock
* refactor: enhance argument extraction and command building logic in utils.ts for improved handling of named and positional arguments
* test: fix semantically incorrect argument samples in convertServerDetailToEndpoint tests
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Hao Su <midnightow1@outlook.com>
by SpinsirrNov 11, 07:33 PM