mirror of
https://github.com/mcp-use/mcp-use.git
synced 2026-09-14 18:06:01 +08:00
python-v1.7.1
7 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
68afda5885 |
docs(typescript): review and rewrite TypeScript docs (MCP-2466) (#1780)
* docs: remove stale feedback block and orphaned anchor from docs.json * chore(docs): make Typescript more prominent * chore(docs): Update `welcome.mdx` * docs: rewrite TypeScript quickstart and welcome pages Refocus the quickstart on create-mcp-use-app (scaffold, run, and deploy a first MCP server) and drop the agent/client/server primer table and diagram. Convert the welcome page's server + widget example from Tabs to CodeGroup and tighten the intro wording. * docs: remove stale server templates page and fix its references Delete the typescript/server/templates page and repoint the home templates tip to the quickstart, which now covers create-mcp-use-app. * docs(typescript): fix dead example links to real example paths The 'see a full example' links pointed at GitHub folders that 404 or contain only a README. Corrected to the real runnable examples under libraries/typescript/packages/mcp-use/examples/, verified against origin/main (incl. matching cd commands): - installation: examples/server -> packages/.../examples/server - client-configuration: a .py link -> real TS multi-server example - code-mode: examples/client/* -> examples/agent/code-mode/* - elicitation, sampling, notifications: server/X -> server/features/X - supabase: server/supabase -> server/deployment/supabase - clerk: restore missing packages/mcp-use/ path segment Quickstart links were already fixed by the quickstart rewrite (e6903716). Part of the docs audit (MCP-2466). * docs(typescript): rewrite Agent and Client introduction pages Rewrite the Agent and Client intro pages to be task-oriented and scannable: concise feature lists with cross-links, runnable quick-start examples, and added API reference sections. Drop stale CodeSandbox embeds and outdated model names. * docs(typescript): fix MCPServer class name casing in server reference The API Reference heading, prose, and class signature used McpServer; the real SDK export is MCPServer. Corrected all three occurrences in server/index.mdx. * docs: add redirect for bare /typescript/server path Routes the bare /typescript/server path to its index page now that the server section has been restructured. Claude-Session: https://claude.ai/code/session_015uioJjKTAZXGQpbXHUHZWp * docs(typescript): fix broken code examples across MCP Server & Apps section Fix all 102 confirmed code defects found in the MCP Server & MCP Apps documentation audit (47 pages, 401 code blocks), verified against the mcp-use@1.32 SDK source. The recurring patterns that made copy-pasted examples fail to compile or run are now corrected everywhere they appeared: - server.start() -> await server.listen() (no start() method exists) - bare-object tool returns wrapped in object()/text() response helpers; catch blocks renamed so they no longer shadow the error() helper - prompt messages use role:"user" with typed { type:"text" } content instead of the invalid role:"system" + bare-string shape - auth reads ctx.auth.user.userId (not ctx.auth.userId); user fields live under ctx.auth.user, scopes/permissions stay top-level - security: remove verifyJwt: process.env.NODE_ENV === 'production' from all six OAuth provider pages (off-prod it skips signature verification and accepts forged tokens); rely on the secure default, with a warning never to disable it - correct import subpaths: Logger/MCPClient from mcp-use, response helpers and server symbols from mcp-use/server, MCPClient as BrowserMCPClient from mcp-use/browser; drop the unexported getMcpAppsBridge - useWidget generics use the real <TProps, TState, TOutput, ...> order; remove the non-existent notifyIntrinsicHeight (auto-size via McpUseProvider) - fix the deployment URL to <id>.run.mcp-use.com/mcp, add missing z/helper imports, add the --branch/--dockerfile CLI options, and clean up em dashes and bare/malformed code fences Each page was fixed and then independently re-verified against the SDK source, with a repo-wide pattern sweep confirming no instances remain. Structural IA changes (moving widget-components to /react/, orphan redirects) are intentionally deferred to the docs rewrite. * docs(typescript): restructure MCP Server & MCP Apps IA Promote MCP Apps to its own top-level section in the TypeScript SDK Docs tab and move the 9 React widget-component pages out of /server/widget-components/ into /typescript/react/. - Move 9 React component pages to typescript/react/ (git renames) with 9 redirects - Promote MCP Apps to a top-level group (Overview pages + React subgroup) - Remove the duplicate MCP Apps group from the Home product nav; rehome guides/chatgpt-apps-flow under MCP Apps so it no longer orphans - Move cli-reference out of MCP Server into a new Tooling group - Relocate response-helpers -> Core Components, openapi -> Advanced Features, nextjs-drop-in -> Deployment - Repoint all widget-components links to /typescript/react/ - Fix 3 broken anchor links (inspector CLI env var, mcp-apps metadata, auth providers) Structure-only change; no page content rewrites. Refs MCP-2466. * docs: refresh TypeScript server app docs * docs: add TypeScript API reference * docs: streamline TypeScript server navigation * docs: rewrite core TypeScript server guides * docs: rewrite advanced TypeScript server guides * docs: rewrite TypeScript server OAuth guides * docs: rewrite TypeScript server session storage guides * docs: rewrite MCP Apps section * docs: add TypeScript MCP client API reference * docs: add TypeScript MCP agent API reference * docs: reorder TypeScript API reference nav * docs: reorganize TypeScript tooling nav * docs: rewrite inspector guides * docs: rewrite MCP server tunneling guide * docs: rewrite CLI client and reference docs * docs: finalize TypeScript documentation rewrite * docs: move inspector updates under get started * Fix Mintlify validation errors * Fix Mintlify broken links * docs: update Manufact Cloud deployment guide * chore: retrigger Mintlify docs preview * Fix MDX comment syntax on home page * docs: rework TypeScript server examples * docs: fix server docs links * docs: restore SDK links in home sidebar * docs: move SDK links to end of home sidebar |
||
|
|
dbbd7bcf4a | docs: fixed logo and link mismatch in home page (#1444) | ||
|
|
043931dad9 |
feat(docs): add Contributors component to changelog files
- Introduced a new Contributors component in the changelog files for releases 1.3.11, 1.3.12, 1.4.1, and 1.5.0 to acknowledge contributors in a consistent format. - Updated the changelog entries to include a list of contributors for each release, enhancing visibility and appreciation for their contributions. |
||
|
|
8a2e84e1ca |
Canary (#669)
* chore/typescript/package visibility (#654) * cli - update * create-mcp-use-app - update * inspector - update * mcp-use - update * canary-changeset * chore: enter canary prerelease mode * chore(typescript): version packages (canary) * Fix mcp agent prompts (#655) * Refactor: Include resources and prompts in agent tool creation Co-authored-by: tonxipad <tonxipad@gmail.com> * feat: Add support for MCP resources and prompts This commit introduces the ability to load and convert MCP resources and prompts into tools. The `BaseAdapter` now includes abstract methods `convertResource` and `convertPrompt`, and concrete implementations are provided in `LangChainAdapter`. The `MCPAgent` and `ServerManager` have been updated to utilize these new functionalities, allowing agents to leverage a broader range of MCP capabilities beyond just tools. Co-authored-by: tonxipad <tonxipad@gmail.com> * refactor(langchain_adapter): default all MCP prompt arguments to string type Updated the LangChainAdapter to ensure that all MCP prompt arguments default to string type due to the absence of type definitions in the Prompt specification. This change simplifies the argument handling and enhances type safety in the schema generation process. * fix: ruff lint * fix: streamline server connection message formatting Removed unnecessary line breaks in the connection message for improved readability. The message now presents a more concise format while maintaining clarity about the number of available tools, resources, and prompts after connecting to the MCP server. * chore: update TypeScript preview package publishing command to use pnpm flag Modified the GitHub Actions workflow for TypeScript PR previews to include the `--pnpm` flag in the package publishing command, ensuring compatibility with the pnpm package manager. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: tonxipad <tonxipad@gmail.com> * chore(typescript): version packages (canary) * feat(mcp-use): enhance session management with HEAD request support a… (#659) * feat(mcp-use): enhance session management with HEAD request support and idle cleanup improvements - Added handling for HEAD requests in the mountMcp function to support keep-alive and health checks. - Updated the startIdleCleanup function to close associated transports during session cleanup, preventing errors on reconnection with expired session IDs. - Enhanced documentation to clarify the new behavior and parameters for idle cleanup. * feat(telemetry): enhance telemetry tracking and browser support - Added support for browser environments in the Telemetry class, including dynamic imports of posthog-js for event tracking. - Introduced new events: ClientAddServerEvent and ClientRemoveServerEvent for better server management tracking. - Improved telemetry source management and user identification methods for both Node.js and browser contexts. - Refactored existing methods for better clarity and maintainability, including the initialization of PostHog clients based on the runtime environment. - Updated event capturing logic to handle both Node.js and browser clients effectively. * chore(typescript): version packages (canary) * Docs/agent/refactor (#658) * chore(ci): enhance TypeScript workflow with matrix strategy for Node.js versions - Updated the CI workflow to implement a matrix strategy for TypeScript jobs, allowing tests to run on Node.js versions 18, 20, and 22. - Adjusted Node.js setup steps to dynamically use the specified version from the matrix. - Renamed job names to reflect the Node.js version being used for better clarity in CI logs. * feat(mcp-use): add CommonJS support and examples - Updated package.json to include CommonJS exports for all modules, allowing compatibility with projects using require() syntax. - Introduced a new CommonJS example demonstrating MCPClient usage with detailed instructions and environment requirements. - Added a markdown file documenting CommonJS usage, highlighting key features and providing usage examples. - Implemented a CommonJS compatibility test to ensure proper functionality when using require() syntax across various modules. - Adjusted Node.js engine requirement in package.json to support Node.js 18.0.0 or higher. * feat(docs): update TypeScript client documentation and structure - Added new pages for agent and client configuration, environments, and server manager in the documentation. - Updated existing documentation to reflect changes in the client structure and features, including the removal of deprecated sections. - Enhanced the `docs.json` file to include new and updated pages for better navigation. - Improved clarity in the client configuration and authentication sections, ensuring users have access to the latest information and examples. * feat(cli): introduce mcp-use CLI client with comprehensive documentation and command support - Added a new CLI client for interacting with MCP servers directly from the terminal, allowing users to execute commands without writing code. - Included detailed documentation for installation, usage, troubleshooting, and examples to facilitate user onboarding. - Implemented various commands for session management, tool interaction, and resource handling, enhancing the CLI's functionality. - Integrated testing framework with unit and integration tests to ensure reliability and performance of the CLI commands. - Updated package dependencies and configurations to support the new CLI features. * feat: remove WebSocket transport support and update related components - Eliminated WebSocket transport from the mcp-use library, including the removal of WebSocketConnector and related references in various components. - Updated connection validation to support only HTTP and SSE protocols. - Adjusted documentation and comments to reflect the removal of WebSocket support, ensuring clarity for users. - Introduced a new method in MCPSession to list available tools, enhancing functionality. * feat: enhance documentation and update CLI package for CommonJS support - Added a CodeSandbox link to the TypeScript client documentation for interactive examples. - Updated package.json to set the CLI as a module and changed the output file to CommonJS format. - Modified integration tests to reflect the new CommonJS output path. - Configured the Logger class to include console transports for improved logging visibility. * chore: require node 20 * chore: update CLI package dependencies to latest versions - Upgraded @vitejs/plugin-react from ^4.3.4 to ^5.1.1. - Upgraded chokidar from ^3.6.0 to ^5.0.0. * chore: update pnpm-lock.yaml to include React and related dependencies - Added React, ReactDOM, and React Router DOM with specified versions to the pnpm-lock.yaml file. - Removed duplicate entries for these packages to streamline the dependency list. --------- Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * chore(typescript): version packages (canary) * chore(typescript): version packages (canary) * refactor(docs): update agent documentation and structure (#667) * refactor(docs): update agent documentation and structure - Revised the agent configuration documentation to reflect changes in LLM integration and memory management. - Enhanced the `docs.json` file to include new and updated pages for better navigation. - Removed the interactive chat patterns documentation as it is now integrated into the memory management section. - Updated icons and descriptions across various documentation files for consistency and clarity. - Introduced simplified mode support in the MCPAgent, allowing for easier configuration with string-based LLM specifications. - Improved examples and added new sections for structured output and streaming capabilities. * feat(api): remove Simplified MCPAgent API documentation - Deleted the `SIMPLIFIED_AGENT_API.md` file, which contained the documentation for the simplified MCPAgent API. - This change reflects the removal of the simplified mode documentation as part of the ongoing refactoring and consolidation of agent-related resources. * feat(docs): update agent documentation and examples for new run options * Fix TypeScript compilation errors - Change MCPClient import from type-only to regular import (used as value) - Remove async generator markers from overload signatures - Fix boolean type assignments by adding ?? true fallback - Fix LanguageModel import in llm_provider.ts - Add re-exports for backward compatibility - Remove unused eslint-disable directives * Fix inspector build: Add node:stream stub for browser compatibility - Add stream.js stub with PassThrough, Readable, Writable, Transform, Duplex classes - External node:stream, node:process, child_process, fs, os in Vite build - Prevents bundling Node.js-only modules in browser build * chore(typescript): version packages (canary) * feat(inspector): enhance Vite configuration and add path parsing utility (#670) - Updated Vite configuration to include more specific aliases for Node.js modules, improving compatibility with browser builds. - Modified widget URL construction in OpenAIComponentRenderer to remove unnecessary query parameters. - Added a new `parse` function to the path stub, enabling path string parsing into an object with root, dir, base, ext, and name properties. - Excluded additional Node.js-only packages from the build process to streamline dependencies. * feat(inspector): improve favicon fetching logic in ServerIcon component (#672) - Introduced a new utility function `getBaseDomain` to simplify domain extraction. - Updated favicon fetching logic to handle response as JSON and cache images more effectively. - Enhanced error handling and logging for better debugging during favicon retrieval. - Removed commented-out code for cleaner implementation. * feat(session): update callTool method to default args to an empty object and add requireSession method for session retrieval (#671) * chore(typescript): version packages (canary) * feat(cli, mcp-use): enhance Tailwind CSS configuration to include mcp-use package resources (#673) - Updated CSS generation to dynamically calculate the relative path to the mcp-use package. - Modified Tailwind CSS configuration to scan both the resources directory and the mcp-use package for TypeScript and JavaScript files. * chore(typescript): version packages (canary) * fix: drop react-router-dom in favor of react-router (#675) * chore(typescript): version packages (canary) * typescript release workflow pushes tags and releases (#676) * fix release action * Fix/server/enhance (#677) * feat(mcp-use): add favicon support for MCP server and widgets - Introduced a favicon configuration option in the MCPServer class to allow custom favicon paths. - Implemented favicon route setup in the server to serve the favicon at the root URL. - Updated documentation to include examples for configuring favicons in server setup. - Cleaned up widget directories on file deletions to maintain a tidy development environment. * feat(mcp-use): enhance widget data handling and metadata extraction - Updated OpenAIComponentRenderer to improve state management for tool input and output. - Added extraction of widget properties from metadata for better integration with the MCP framework. - Enhanced the useWidget hook to support tool input and output, including a pending state for tool execution. - Modified WidgetData interface to include optional toolResponseMetadata for improved data handling. - Updated server-side utilities to ensure consistent handling of widget props and tool output across the application. * chore(typescript): version packages (canary) * chore(mcp-use): update package version and add client entry in package.json (#679) * chore(mcp-use): update package version and add client entry in package.json - Bumped version from 1.11.0-canary.7 to 1.11.0-canary.9 in package.json. - Added client entry point in package.json for improved module exports. - Updated tsup.config.ts to include src/client.ts in the build process. * chore(deploy): update deno.json to include specific mcp-use client and server imports - Added specific imports for mcp-use client and server from the PR branch. - Included zod library version 4 in the deno.json configuration for enhanced type validation. * Session management (#682) * feat(mcp-use): enhance session management and transport options - Added a new "Session Management" group in the documentation for better organization. - Introduced automatic session recovery for HTTP/SSE transports, allowing clients to handle server restarts seamlessly. - Updated the transport type preference to deprecate the 'sse' option in favor of 'http' and 'auto', aligning with the MCP spec 2025-11-25. - Implemented Redis session and stream managers for improved session persistence and management. - Added new scale testing scripts to the package.json for performance evaluation. - Updated various types and interfaces to support new session management features and ensure backward compatibility. * feat(mcp-use): add convenience methods for notifying clients of changes - Introduced convenience methods: `sendToolsListChanged`, `sendResourcesListChanged`, and `sendPromptsListChanged` to simplify client notifications when tools, resources, or prompts are dynamically added or removed. - Updated documentation to include examples for notifying clients of changes in tools, resources, and prompts, enhancing clarity and usability. * feat(mcp-use): implement auto-detection of session mode based on Accept header - Enhanced session management by introducing auto-detection of stateful or stateless mode based on the client's Accept header. - Updated documentation to reflect the new behavior, ensuring compatibility with various clients like k6 and curl while maintaining SSE support for capable clients. - Modified request handling to adapt the server's response based on client capabilities, improving overall flexibility and usability. * feat(mcp-use): improve client notification system and session handling - Enhanced client notification methods for dynamic updates, including `sendToolsListChanged`, `sendResourcesListChanged`, and `sendPromptsListChanged`. - Improved session management with automatic recovery for HTTP/SSE transports and updated documentation for clarity. - Adjusted request handling to better support client capabilities and maintain backward compatibility. * Delete libraries/typescript/packages/mcp-use/IMPLEMENTATION_SUMMARY.md Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * Delete libraries/typescript/packages/mcp-use/REDIS_INTEGRATION_VERIFIED.md Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * Delete libraries/typescript/packages/mcp-use/SCALE_TESTING_IMPLEMENTATION.md Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * Update ARCHITECTURE.md Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * feat(mcp-use): add Redis as an optional dependency and enhance Redis integration - Added Redis as an optional dependency in package.json. - Updated Redis session and stream managers to include error handling for unsupported Redis client methods. - Introduced isRedisAvailable() function to check for Redis availability at runtime. - Enhanced documentation to clarify Redis integration and installation instructions. * feat(mcp-use): enhance session management with FileSystemSessionStore and auto-refresh capabilities - Introduced FileSystemSessionStore for development environments, allowing session persistence across hot reloads. - Added auto-refresh functionality for tools, resources, and prompts in the useMcp hook, triggered by relevant notifications. - Updated documentation to reflect new session management architecture and usage examples. - Improved LayoutHeader component with collapsible tabs for better UI experience. * feat(docs): update session management documentation and add filesystem storage reference - Added reference to new File System Storage in session management documentation, highlighting its use for development environments. - Removed outdated comparison with other implementations from the documentation. - Updated session management overview to include filesystem storage as a viable option for session persistence. - Adjusted related documentation links to ensure consistency and clarity. * refactor(docs): streamline Supabase deployment documentation and remove scale testing guide - Updated the Supabase deployment documentation to use a local icon path for better resource management. - Removed the scale testing guide as it was deemed unnecessary, simplifying the documentation structure. * feat(ui): add collapsible tabs to LayoutHeader for improved navigation - Introduced a CollapseButton component to toggle tab visibility in the LayoutHeader. - Updated Tabs component to support collapsed state, enhancing user experience. - Adjusted styles for smoother transitions and improved accessibility with tooltips. - Refactored tab rendering logic to accommodate the new collapsible feature. * refactor(tests): remove outdated Redis integration tests and related documentation - Deleted manual integration tests for Redis session management and related README files to streamline the testing suite. - Removed scale testing scripts and configuration files that were no longer necessary, simplifying the project structure. - Updated the remaining test documentation to reflect the changes and ensure clarity for future testing efforts. * feat(redis): enhance Redis client interface and session management - Added support for Redis SET operations with sAdd, sRem, and sMembers methods in the RedisClient interface. - Updated RedisSessionStore to utilize SET for tracking active sessions, improving performance and reducing blocking operations. - Modified RedisStreamManager to manage active sessions using SET instead of KEYS, ensuring non-blocking behavior. - Added warnings in documentation regarding the use of KEYS command in production environments. - Enhanced session cleanup logic to include removal of active sessions from the SET. --------- Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * chore(typescript): version packages (canary) * Fix/server/enhance (#678) * feat(mcp-use): add favicon support for MCP server and widgets - Introduced a favicon configuration option in the MCPServer class to allow custom favicon paths. - Implemented favicon route setup in the server to serve the favicon at the root URL. - Updated documentation to include examples for configuring favicons in server setup. - Cleaned up widget directories on file deletions to maintain a tidy development environment. * feat(mcp-use): enhance widget data handling and metadata extraction - Updated OpenAIComponentRenderer to improve state management for tool input and output. - Added extraction of widget properties from metadata for better integration with the MCP framework. - Enhanced the useWidget hook to support tool input and output, including a pending state for tool execution. - Modified WidgetData interface to include optional toolResponseMetadata for improved data handling. - Updated server-side utilities to ensure consistent handling of widget props and tool output across the application. * chore(mcp-use): update package version and add client entry in package.json - Bumped version from 1.11.0-canary.7 to 1.11.0-canary.9 in package.json. - Added client entry point in package.json for improved module exports. - Updated tsup.config.ts to include src/client.ts in the build process. --------- Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * Update documentation links and clean up references - Removed duplicate links in the agent configuration documentation. - Updated the examples link in the CLI documentation to point to the correct server examples. - Corrected the Tools guide link in the tools documentation to ensure proper navigation. - Adjusted the Building Agents link in the useMCP documentation to reflect the new path in the advanced section. * Refactor RedisStreamManager to remove unnecessary whitespace and improve code readability in session cleanup logic. * Update API key masking in whoamiCommand to show first 6 characters instead of 8, enhancing security and clarity in output. * Refactor URL handling and UUID generation for improved readability in git and telemetry utilities. (#686) * Refactor URL handling and UUID generation for improved readability in git and telemetry utilities. * Enhance TypeScript library with new features and documentation updates - Moved `@langchain/core` and `langchain` to optional peer dependencies. - Removed WebSocket transport; recommended using streamable HTTP or SSE. - Introduced session management architecture with Redis support. - Added favicon configuration for widget pages and improved caching. - Implemented dedicated CLI client support for better command-line integration. - Enhanced session methods and fixed transport cleanup for idle sessions. - Updated documentation with links for better navigation and learning resources. * Enhance session management and improve documentation clarity (#687) - Refactored session management architecture to streamline Redis integration. - Updated documentation for better navigation and added new examples. - Improved clarity in output by adjusting API key masking in whoamiCommand. - Cleaned up code for better readability and maintainability. * chore(typescript): version packages (canary) * Enhance TypeScript release workflow by ensuring the latest commits are fetched and tags are pushed correctly. - Added steps to fetch the latest commits and tags before tagging and publishing. - Improved reliability of the release process by ensuring the correct branch is checked out and up-to-date. * Refactor CI workflows for TypeScript and Deno testing - Removed the temporary disabled `typescript-deno-test` job from the CI workflow. - Enhanced the `typescript-pr-preview` workflow by adding a step to retrieve the PR number and create a temporary `deno.json` for testing. - Implemented a wait mechanism to ensure the preview package is available on esm.sh before running Deno tests. - Updated changeset versions for several packages from patch to minor. * Remove outdated documentation files for building custom agents, logging, and multi-server setup in TypeScript. Update links in related documents to reflect the new structure and ensure consistency in navigation. * Update streaming and code mode documentation with enhanced examples and video content. Removed outdated sections to improve clarity and user experience. * Update TypeScript documentation to reflect changes in streaming methods and authentication. Removed outdated sections in streaming.mdx, streamlined examples in structured-output.mdx, and updated OAuth version in authentication.mdx for clarity and accuracy. * Fix cli import (#689) * fix: update imports to use mcp-use/client for better dependency management * Refactor Deno tests for MCPServer to utilize Zod for input validation and streamline response handling. Updated deno.json to include new dependencies and improved import paths for better module resolution. * Refactor Zod import in Deno tests and remove outdated dependency from deno.json for improved module resolution. * Update Zod import syntax and upgrade Zod version in Deno test files for improved compatibility and module resolution. * Enhance TypeScript PR preview workflow by adding Zod as a dependency for improved validation and module resolution. * Update TypeScript PR preview workflow to include `?no-dts` in mcp-use imports and modify Deno test command to skip type checking for improved testing efficiency. * chore(typescript): version packages (canary) * chore(typescript): update dependencies and improve package configurations (#690) * chore(typescript): update dependencies and improve package configurations - Bump versions for several dependencies including ESLint, TypeScript, and various React-related packages. - Update `vite` and `tailwindcss` to the latest versions for improved performance and features. - Enhance `zod` version for better validation capabilities. - Remove outdated `pnpm-lock.yaml` file from the React example client. - Adjust package configurations across multiple packages for consistency and compatibility. * chore(typescript): update package specifiers and versions in pnpm-lock.yaml - Adjusted version specifiers for several dependencies, including React and Zod, to ensure compatibility and flexibility. - Updated the version of `@langchain/core` and related packages to the latest stable release. - Removed outdated entries and improved overall package configuration for better dependency management. * chore(typescript): version packages (canary) * Update TypeScript logging documentation to change "Next Steps" section to "Related" and adjust links for improved clarity and navigation. * Remove changeset for "many-rocks-joke" from TypeScript library updates. * Remove ServerDetail component and simplify user ID generation in telemetry * chore: changeset * chore(typescript): version packages (canary) * Update deploy script to use latest MCP_USE_VERSION and switch import paths to npm for mcp-use and zod dependencies. * Add blog link to navbar and include logo href in documentation * Enhance logo display in documentation by adding noZoom attribute to images for better responsiveness. * Update changelog for v1.11.0 release, introducing distributed session management, a new CLI client, and various enhancements and fixes across features, documentation, and testing. * Update changelog for v1.10.0 release, highlighting API improvements, breaking changes, new features, and various enhancements and fixes related to session management and resource templates. * Update pnpm-lock.yaml and package.json for dependency management; remove outdated example files and enhance CLI documentation. * Refactor MCP agent examples to use updated import paths and LLM configurations; replace deprecated imports and streamline server management examples for better clarity and functionality. * Update TypeScript configuration to use 'bundler' for module resolution and clarify MCPClient instantiation in shared-utils-browser.ts for better browser compatibility. * Refactor TypeScript configuration to improve module resolution and enhance browser compatibility in shared-utils-browser.ts. * Refactor pnpm-lock.yaml to reorganize example paths and update dependency links for improved project structure and consistency across server features. * chore(typescript): version packages (canary) * fix: inspector import * chore(typescript): version packages (canary) * improve deploy on supabase docs * refactor(telemetry): enhance telemetry initialization and user ID management - Updated the Telemetry class to improve initialization of Scarf telemetry, ensuring it only runs in server-side environments to avoid CORS issues. - Enhanced user ID generation with fallback mechanisms for both session-based and persistent storage scenarios, improving reliability across different runtime environments. - Refactored user ID retrieval from the filesystem to handle errors gracefully and ensure consistent behavior in various contexts. - Improved telemetry event tracking by including runtime environment metadata, enhancing observability and debugging capabilities. * changeset * fix: inspector autoconnect * fix: update conformance workflow paths for TypeScript examples * format * refactor(InspectorDashboard): remove debug logging and clean up code - Removed console warning for logging connections on every render to reduce noise in the console. - Updated GitHub icon component to use camelCase for SVG attributes, ensuring consistency with React conventions. * fix(deploy.sh): update import paths to use ESM and enhance CSP URLs for Supabase deployment * feat(ui-resource-registration): enhance tool definition handling with Zod schema support and legacy input conversion * chore(typescript): version packages (canary) * chore(typescript): version packages (canary) * refactor(widget-metadata): update handling of Zod schemas to preserve full schema objects and improve backward compatibility * chore(typescript): version packages (canary) * fix: inspector rpc logs * chore(typescript): version packages (canary) * Potential fix for code scanning alert no. 53: Insecure randomness Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * refactor(widget-metadata): correct handling of props and inputs in widget metadata * fix(telemetry): remove unnecessary whitespace in secureRandomString function * chore(typescript): version packages (canary) * docs * fix(tests): update pattern replacement to handle all asterisks in session store and stream manager tests * fix(telemetry): use secureRandomString for userId generation fallback * chore(typescript): version packages (canary) --------- Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: Pietro Zullo <62951181+pietrozullo@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: tonxipad <tonxipad@gmail.com> Co-authored-by: pietrozullo <pietro.zullo@gmail.com> Co-authored-by: pederzh <luigipederzani@gmail.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> |
||
|
|
6ec11cdae2 |
Canary (#617)
* Fix/server/reafctor complete (#616) * feat: add MCP Conformance Test Servers for Python and TypeScript (#605) * chore(deps): bump express from 5.1.0 to 5.2.0 in /libraries/typescript (#602) * chore(deps): bump express from 5.1.0 to 5.2.0 in /libraries/typescript Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.0. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.0) --- updated-dependencies: - dependency-name: express dependency-version: 5.2.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * chore: add changeset for dependabot updates * Delete libraries/typescript/.changeset/dependabot-e19bd45.md Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * chore: add changeset for dependabot updates --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * feat: add MCP Conformance Test Servers for Python and TypeScript - Introduced a new GitHub Actions workflow for running conformance tests on both Python and TypeScript servers. - Implemented a Python conformance server that supports various MCP features and tools. - Developed a TypeScript conformance server with similar functionality, including tools and resources. - Added necessary configuration files for TypeScript server setup, including package.json and tsconfig.json. - Updated pnpm-lock.yaml to include dependencies for the new conformance server. This commit enhances the testing framework by providing dedicated servers for conformance testing, ensuring better validation of MCP features. * feat: enhance conformance workflow with conditional inputs - Added workflow_dispatch inputs to allow running only Python or TypeScript conformance tests. - Updated job conditions to skip unnecessary tests based on the selected input. - Modified the conformance summary job to ensure it does not run if cancelled. This update improves flexibility in running conformance tests, enabling targeted testing based on user input. * feat: add PR comment with conformance results and remove ext-apps * feat: show individual test results as columns in PR comment * feat: simplify conformance PR comment table * feat: add conformance comparison with main and canary branches - Fix test name parsing to remove ': X passed, Y failed' suffix - Fetch baseline results from main and canary branches - Show comparison columns (vs Main, vs Canary) with color-coded indicators - Show +1/-1 on individual tests that changed from baseline - Use 🟢 for improvements, 🔴 for regressions, ⚪ for no change, 🆕 for new * feat: prevent test name line breaks and add MCP icon - Use non-breaking hyphens (‑) in test headers to prevent wrapping - Replace microscope emoji with MCP SVG icon in PR comments * fix: use picture element for MCP icon with dark/light mode support * feat: display MCP icon inline with heading with gap --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore: enter canary prerelease mode * chore(typescript): version packages (canary) * Feature/mcp 924 implement tool elicitation support in typescript sdk tools (#606) * chore(deps): bump express from 5.1.0 to 5.2.0 in /libraries/typescript (#602) * chore(deps): bump express from 5.1.0 to 5.2.0 in /libraries/typescript Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.0. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.0) --- updated-dependencies: - dependency-name: express dependency-version: 5.2.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * chore: add changeset for dependabot updates * Delete libraries/typescript/.changeset/dependabot-e19bd45.md Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * chore: add changeset for dependabot updates --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * chore: enter canary prerelease mode * feat(docs): add elicitation feature documentation and update client structure - Introduced new documentation for the elicitation feature, detailing both form and URL modes for user input requests. - Updated `docs.json` to include a new page for elicitation. - Enhanced the `MCPClient` and related connectors to support elicitation callbacks, allowing servers to request additional user information. - Implemented elicitation handling in various connectors (HTTP, Stdio) and updated the server context to support elicitation requests. - Added examples for using elicitation in React components and TypeScript. * feat: enhance elicitation feature documentation and server-side validation - Updated documentation to clarify server-side validation with mcp-use when using Zod schemas. - Added custom error types for elicitation validation in the mcp-use library. - Improved MCPClient to support elicitation callbacks for better user interaction. - Refactored elicitation ID generation to use UUID for uniqueness. - Enhanced error handling in the server to throw specific validation errors. * feat: add Zod dependency and implement elicitation tool in conformance server - Updated .gitignore to exclude conformance test results. - Added Zod as a dependency in the conformance package. - Implemented a new elicitation tool in the conformance server, allowing for user input with validation using Zod schemas. - Updated server feature list to include the new elicitation tool. * feat: add elicitation tool with default values in conformance server - Introduced a new elicitation tool that utilizes default values for various primitive types as per SEP-1034. - Enhanced the server's ability to handle user input with validation using Zod schemas. - Updated the server feature list to include the new elicitation tool. * fix: resolve pre.json conflict with canary - accept newer versions * chore: remove ELICITATION_IMPLEMENTATION.md and ext-apps from tracking --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(typescript): version packages (canary) * fix: update elicitation example server paths and enhance documentation (#608) - Updated paths in documentation and examples to reflect the new `examples/server/elicitation/` structure, replacing the previous `examples/server/elicitation-test/`. - Enhanced the elicitation feature documentation to clarify usage and examples. - Removed deprecated example files related to the old elicitation test structure. * chore(typescript): version packages (canary) * chore(typescript): update package versions to patch for mcp-use and inspector * Fix/server/json response (#609) * feat: update dependencies and enhance server functionality - Added new dependencies '@openai/apps-sdk-ui' and '@tanstack/react-query' to the starter template and test app. - Updated the pnpm-lock.yaml to reflect the new dependencies and their versions. - Modified mcp-server.ts to enable JSON response for SSE streaming. - Refactored createExternalUrlResource, createRawHtmlResource, and createRemoteDomResource functions to return promises for better async handling. * refactor: update create-mcp-use-app package to use React and Ink components - Changed the build script to compile TypeScript files with JSX support. - Replaced Inquirer with Ink components for interactive CLI prompts. - Removed the old index.ts file, transitioning to a more modern React-based approach. - Updated package dependencies to include React and Ink, ensuring compatibility with the new structure. - Enhanced the TypeScript configuration to support JSX. * chore(typescript): version packages (canary) * chore(typescript): update mcp-use and inspector versions to minor for elicitation support * refactor(typescript): clean up mcp-use package structure and enhance type exports - Removed deprecated '@mcp-use/cli' and 'tsx' from devDependencies in package.json and pnpm-lock.yaml. - Reorganized type exports in mcp-server.ts to improve clarity and accessibility of ToolContext-related types. - Refactored logging.ts to utilize a centralized getEnv function for environment variable access. - Updated imports in various files to reflect the new structure and removed unused code. - Deleted the mcp-ui-adapter.ts file as it was no longer needed. * feat(typescript): enhance mcp-use package with new dependencies and refactor server endpoints - Added 'express' as a dependency in package.json and updated its version to 5.2.1. - Introduced new dependencies for examples in the mcp-use package, including '@openai/apps-sdk-ui', '@tanstack/react-query', and others. - Refactored server endpoint handling by consolidating request/response management and removing deprecated handlers. - Improved logging functionality with a new truncate method for better JSON output. - Cleaned up unused code and removed legacy endpoint files to streamline the package structure. * feat(mcp-server): enhance session handling with context-aware tool registration - Introduced context enhancement for tool handlers in the MCP server to support session-specific logic. - Added utility functions for session context management and improved message creation within session scope. - Refactored tool registration to wrap handlers with context-aware logic, enabling better handling of request metadata and notifications. * feat(mcp-use): update @modelcontextprotocol/sdk version and refactor server handling - Updated the @modelcontextprotocol/sdk dependency to version 1209 in package.json and pnpm-lock.yaml. - Adjusted the server port in the elicitation example from 3002 to 3000 for consistency. - Enhanced the MCP server's session handling to follow the official SDK pattern, ensuring each session has its own transport and server instance. - Refactored the mountMcp function to utilize FetchStreamableHTTPServerTransport, improving bidirectional communication and simplifying request handling. - Cleaned up deprecated Express-like request/response handling, streamlining the server's architecture. * feat(mcp-server): integrate ResourceTemplate and refactor resource registration - Imported ResourceTemplate from the SDK to enhance resource handling. - Updated resource registration to use readCallback instead of cb for improved clarity. - Created ResourceTemplate instances and associated metadata during resource registration, streamlining the process and ensuring better integration with the SDK. * refactor(mcp-use): streamline server examples and update dependencies - Removed deprecated '@mcp-use/cli' and 'tsx' from devDependencies in package.json and pnpm-lock.yaml. - Refactored server examples to utilize new response helpers for consistency and clarity. - Updated the MCP server examples to improve structure and remove unnecessary code. - Enhanced the resource and prompt registration to support new callback patterns, ensuring better integration with the SDK. - Cleaned up unused files related to elicitation tests, improving overall package organization. * feat(mcp-use): enhance server tools and improve type handling - Added new server tools with optional message parameters, providing default values for better usability. - Refactored server example files to streamline tool definitions and improve clarity. - Updated type exports to include new utility types for handling optional fields in Zod schemas, enhancing type safety and flexibility in callbacks. - Improved server initialization by removing hardcoded port values, allowing for dynamic port assignment. - Cleaned up unnecessary console logs and comments to enhance code readability. * refactor(mcp-use): enhance context handling in server tools and resource registration - Removed redundant tool definitions in server examples to streamline code. - Improved type handling by introducing EnhancedPromptContext and EnhancedResourceContext for better access to request context. - Updated callback signatures in resource and prompt definitions to support context-aware execution. - Enhanced error handling and response management in server tools for improved reliability. * refactor(mcp-use): improve context management and streamline server tools - Enhanced context handling in server tools by refining callback signatures and introducing new context types. - Streamlined server examples by removing redundant tool definitions and improving error handling. - Updated resource and prompt registration processes for better integration and reliability. * chore(conformance): remove branch restrictions from push and pull_request triggers - Eliminated specific branch filters for push and pull_request events in the conformance workflow, allowing for broader execution on any branch changes. * only those branches * default 3000 * fix: update default port from 3001 to 3000 across various components - Changed default URL and port settings in ConnectionSettingsForm, middleware, and example scripts to use port 3000. - Updated related documentation and comments to reflect the new default port for consistency. * fix(conformance): set TypeScript server port to 3000 for conformance tests - Updated the conformance workflow to explicitly set the TypeScript server to run on port 3000, ensuring consistency with recent changes across components. * chore: update @modelcontextprotocol/sdk version in package files - Updated the version of @modelcontextprotocol/sdk from 1194 to 1209 in pnpm-lock.yaml, package.json, and deno.json to reflect the latest changes in the SDK. --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(typescript): version packages (canary) * fix(docs): update sampling link in elicitation documentation (#618) - Changed the sampling link in the elicitation documentation to point to the correct GitHub repository path for LLM completions, ensuring users have access to the latest examples and resources. * Fix/server/increase conformance score (#619) * feat(server): enhance conformance server with new audio and logging tools - Added a new tool for returning silent audio content in WAV format. - Updated the image tool to include a more descriptive name. - Introduced a tool that simulates logging during execution, providing console output for tool processing steps. - Enhanced the mixed content tool to support multiple content types, including text, image, and resource data. - Updated prompt handling to accept new argument names for better clarity. * refactor(mcp-server): enhance schema handling for prompts and server configuration - Updated schema handling in McpServer and prompt registration to create parameter schemas when arguments are provided. - Improved error handling by setting argsSchema to undefined when no schema or arguments are available, ensuring clearer validation logic. - Refactored regex pattern in server helpers to correctly replace parameter placeholders, enhancing template URI parsing. * feat(server): enhance audio handling and logging capabilities - Introduced a new audio tool for returning audio content, supporting both base64 data and file paths. - Updated server tools to utilize a logging mechanism that sends log notifications during execution. - Enhanced resource handling to support new content types and improved error handling for logging levels. - Refactored existing tools to streamline code and improve clarity in tool definitions. * feat(server): implement resource subscription management and dynamic updates - Added a new subscribable resource that can be updated and subscribed to by clients. - Introduced a tool for updating the subscribable resource, notifying all subscribers of changes. - Enhanced session management by cleaning up resource subscriptions when sessions are closed. - Updated context storage to include optional session IDs for better tracking. - Refactored idle cleanup to support session-specific resource subscription cleanup. * feat: enhance conformance workflow with dynamic badge generation for Python and TypeScript - Added new steps in the GitHub Actions workflow to calculate and create conformance badges for both Python and TypeScript based on test results. - Updated README.md to include links and badges for Python and TypeScript conformance, providing users with immediate feedback on test status. * fix action uses * fix: update conformance workflow badge calculations and labels - Changed the conformance badge calculation to use integer scaling for percentage rates. - Adjusted the passing rate threshold from 80% to 60% for badge color determination. - Updated badge labels for Python and TypeScript to reflect "MCP Conformance" instead of just the language. * fix: enable conformance comments on forked PRs with two-workflow pattern - Split conformance workflow into test execution and comment posting - Created conformance-comment.yml with workflow_run trigger for full permissions - Upload PR metadata and parsed results as artifacts - Updated badge labels to 'MCP Conformance (TS)' and 'MCP Conformance (PY)' - Fixed badge colors: green at 100%, yellow ≥60%, red <60% - Resolves permission errors when posting comments on forked PRs * feat(server): update serverBaseUrl to use environment variable helper (#625) * feat(server): update serverBaseUrl to use environment variable helper - Implemented a helper function to set serverBaseUrl based on MCP_URL environment variable, ensuring correct public URL usage for widgets/assets. * fix(server): improve error handling and logging for resource management - Enhanced error handling in resource subscription management to ensure clearer validation and logging. - Updated logging mechanisms to provide better insights during execution, particularly for resource updates and session management. - Refactored code for improved clarity and maintainability in server tools. * chore(typescript): version packages (canary) * fix: prevent code injection in conformance-comment workflow Use environment variables instead of direct string interpolation to pass PR metadata to the github-script action, preventing potential code injection from untrusted input. Addresses CodeQL security findings. * chore: trigger conformance workflow * feat: allow conformance comment workflow to run on push events - Remove pull_request-only restriction from workflow trigger - Make PR metadata download and comment posting conditional - Workflow now runs for both push and pull_request events - For push events, workflow completes without posting comment - Badges remain branch-specific per existing logic in conformance.yml * fix: revert comment workflow to PR-only events - Comment workflow only runs for pull_request events (not push) - For push events, there's no PR to comment on - Conformance workflow already runs on all branch pushes for iteration - Badges remain branch-specific (only updated for main/canary pushes) * Docs/refactor (#633) * quickstart * chore: update documentation and assets - Renamed "Getting Started" group to "Get Started" in docs.json. - Added new SVG logo for MCP use and several images for TypeScript documentation. - Created a new changelog file for tracking updates and improvements. - Removed outdated security and logging documentation, and updated links in various guides. - Introduced new response helpers and improved server logging documentation. - Enhanced the UI widgets section to support OpenAI Apps SDK with zero boilerplate. * refactor: update MCP server instantiation to use class constructor - Replaced instances of `createMCPServer` with the new `MCPServer` class constructor across documentation and example files. - Updated related documentation to reflect the new instantiation method, enhancing clarity and consistency. - Ensured backward compatibility by retaining the `createMCPServer` function for legacy support. * refactor: standardize MCPServer instantiation in documentation - Updated examples to utilize the new `MCPServer` class constructor instead of the legacy `createMCPServer` function. - Enhanced documentation clarity by providing consistent usage patterns and emphasizing the recommended instantiation method. - Maintained backward compatibility by retaining the legacy function for existing users. * refactor: update subscribable resource schema to use default value - Changed the `newValue` property in the subscribable resource schema to have a default value of "Updated value". - Updated the async function to utilize the default value, simplifying the parameter handling. * refactor: enhance type inference and callback signatures for resource templates - Updated the `registerResourceTemplate` function to support multiple callback signatures, improving type inference for developers. - Removed the deprecated `ReadResourceTemplateCallbackBivariant` interface to streamline the codebase. - Adjusted the handling of `uri` and `variables` in the server example to ensure non-null assertions, enhancing type safety. * refactor: improve resource template registration and type safety - Enhanced the `registerResourceTemplate` function to better support multiple callback signatures, improving developer experience. - Removed the obsolete `ReadResourceTemplateCallbackBivariant` interface to clean up the codebase. - Updated the handling of `uri` and `variables` in the server example to enforce non-null assertions, boosting type safety. * chore(typescript): version packages (canary) * refactor: streamline async callback syntax in server tools - Updated async callback definitions in various server tools to improve consistency and readability. - Removed unnecessary line breaks and streamlined the structure of callback functions across multiple files. - Enhanced overall code clarity while maintaining existing functionality. * refactor: enhance async callback handling in server tools - Improved the structure and readability of async callback functions in server tools. - Standardized callback definitions across multiple files for better consistency. - Maintained existing functionality while enhancing code clarity. * feat: add weather tools and manual widget registration - Introduced two new server tools: `get-current-weather` and `get-weather-forecast`, utilizing the `weather-display` widget. - Updated the README to include a manual tool registration pattern for widgets that do not auto-register. - Enhanced the example structure to demonstrate custom tool usage and widget integration. - Improved documentation clarity regarding widget registration and usage patterns. * refactor: simplify input schema for get-current-weather tool - Replaced the manual input definition with a Zod schema for the `get-current-weather` tool, enhancing type safety and readability. - Streamlined the async callback function by removing explicit type annotations for inputs, improving code clarity. * refactor: enhance type safety and structure in MCPServer resource registration - Updated the `resource` and `resourceTemplate` methods in `MCPServer` to use generic types for improved type safety and clarity. - Refactored the `uiResourceRegistration` function to accept a more generalized server context, enhancing compatibility with various resource definitions. - Renamed `UIResourceServerContext` to `UIResourceServer` for better alignment with its purpose and updated its interface to reflect the new structure. - Improved overall code readability and maintainability by streamlining method signatures and enhancing type definitions. * Chore/typescript/any (#634) * fix: add noZoom attribute to images in SimpleSplitCard component - Added the `noZoom` attribute to image elements in the `SimpleSplitCard` component to prevent zooming effects on hover. - Updated image tags for both light and dark mode images, as well as logos in the action links, ensuring consistent behavior across the component. * refactor: enhance type safety and error handling in result displays - Updated the `PromptResult`, `ResourceResult`, and `ToolResult` interfaces to use specific types instead of `any`, improving type safety. - Refactored error handling in the `extractErrorMessage` functions across multiple components to handle new result structures, ensuring consistent error messaging. - Improved the handling of result properties in the `onCopy` callbacks to align with the updated types, enhancing overall code clarity and maintainability. * refactor: improve error handling and type definitions in result processing - Enhanced error handling in the `extractErrorMessage` functions to accommodate updated result structures, ensuring consistent messaging. - Updated `PromptResult`, `ResourceResult`, and `ToolResult` interfaces to utilize specific types, improving type safety. - Refactored `onCopy` callbacks to align with new type definitions, enhancing code clarity and maintainability. * chore(typescript): version packages (canary) * fix typo * Fix/mcp use/typing (#636) * refactor: remove get-weather-forecast tool and update MCPServer class structure - Removed the `get-weather-forecast` tool implementation from the server example, streamlining the codebase. - Refactored the `MCPServer` class to `MCPServerClass` for improved clarity and updated type definitions for better type safety. - Enhanced the `WidgetMetadata` interface to include new properties for input validation and annotations, aligning with tool naming conventions. * refactor: enhance widget registration logic and metadata handling - Updated the `uiResourceRegistration` function to conditionally register tools based on the `exposeAsTool` flag, improving flexibility in widget registration. - Refactored the handling of tool metadata, ensuring that relevant fields from `appsSdkMetadata` are copied only when necessary. - Enhanced the `createWidgetRegistration` function to extract and utilize the `exposeAsTool` flag from metadata, defaulting to true if not specified, for consistent behavior across widgets. * feat: add tool annotations and exposeAsTool flag to resource definition - Introduced `exposeAsTool` and `toolAnnotations` properties to the `BaseUIResourceDefinition` interface, allowing for more flexible tool registration. - Updated the `uiResourceRegistration` function to utilize the new `exposeAsTool` property directly from the resource definition, enhancing the registration logic. * feat: enhance widget integration and tool metadata handling - Added support for returning interactive UI widgets from tools using the `widget()` helper and `returnsWidget` option, improving user experience in the Inspector and ChatGPT. - Updated documentation to clarify the usage of the `widget` configuration in tool definitions, including examples for better understanding. - Enhanced the `MCPServer` class to manage widget definitions and inject metadata into tool responses, streamlining the integration of custom tools with widgets. - Improved type definitions for tools and widgets, ensuring better type safety and clarity in the codebase. * Fix/server/oauth (#637) * refactor: enhance MCPServerClass with generic OAuth support - Updated the `MCPServerClass` to support generics for OAuth, improving type safety and flexibility in tool and resource registration methods. - Refactored method signatures for `tool`, `prompt`, `resource`, and `resourceTemplate` to utilize the new `HasOAuth` type parameter, ensuring consistent behavior based on OAuth configuration. - Adjusted the `McpServerInstance` and `MCPServer` types to reflect the new generic structure, enhancing clarity in type annotations for server instances. * refactor: simplify OAuth handling in MCPServerClass - Removed the unused `oauthConfig` property and streamlined the OAuth setup logic by directly using `oauthProvider`. - Updated conditional checks for OAuth setup to enhance clarity and reduce redundancy in the codebase. * chore(ci): add --dev flag to create-mcp-use-app commands in CI workflow - Updated the CI workflow to include the `--dev` flag in both npm and yarn commands for creating test applications, ensuring development dependencies are installed correctly. * chore(ci): update CI workflow to build and pack all packages - Modified the CI workflow to build all packages in the TypeScript library and pack individual packages, including `create-mcp-use-app`, `mcp-use`, `@mcp-use/cli`, and `@mcp-use/inspector`. - Updated artifact upload and download steps to handle multiple package artifacts, ensuring all necessary packages are available for testing. - Added a step to replace workspace dependencies with file references in `package.json` for both npm and yarn test applications, improving dependency management. * chore(ci): improve PACKAGE_PATH resolution in CI workflow - Updated the CI workflow to enhance the resolution of the PACKAGE_PATH variable for the create-mcp-use-app package. - Modified the logic to handle cases where multiple package files exist, ensuring the first available package is used, improving reliability in the build process. * chore(ci): refine PACKAGE_PATH resolution in CI workflow - Enhanced the logic for determining the PACKAGE_PATH variable in the CI workflow to ensure it correctly identifies the first available create-mcp-use-app package file, regardless of the operating system. - Updated commands to use more reliable methods for file searching, improving consistency and robustness in the build process. * chore(ci): update PACKAGE_PATH resolution to use realpath in CI workflow - Modified the CI workflow to utilize `realpath` for resolving the PACKAGE_PATH variable, ensuring accurate file paths for the create-mcp-use-app package across different operating systems. - This change enhances the reliability of package path resolution in both npm and yarn commands, improving the overall consistency of the build process. * chore(ci): refine tarball path resolution in CI workflow - Updated the CI workflow to improve the resolution of tarball paths for `mcp-use`, `mcp-use-cli`, and `mcp-use-inspector` packages by using `find` to ensure the first available package is correctly identified. - This change enhances the reliability of package path resolution, ensuring accurate file paths are used during the build process. * chore(ci): add .actrc configuration for local development - Introduced a new `.actrc` file to configure the local development environment for CI workflows, specifying the use of a custom Ubuntu image and container architecture. - Updated the CI workflow to replace workspace dependencies with file references in `package.json`, enhancing consistency across different environments. - Adjusted links in documentation to ensure accurate navigation, including updates to security guides and logging resources. * fix(docs): clean up formatting and update redirects in documentation - Removed unnecessary blank lines in the documentation JSON file for improved readability. - Updated the redirects section to ensure proper formatting and consistency in the structure. * refactor(ci): enhance CI workflow for package management and path resolution (#638) - Improved the CI workflow to ensure accurate resolution of package paths for `create-mcp-use-app`, `mcp-use`, and related packages, enhancing reliability during builds. - Updated commands to utilize more robust methods for identifying package files, ensuring consistency across different environments. - Streamlined the process for building and packing all necessary packages, improving overall dependency management and artifact handling. * chore(typescript): version packages (canary) * Chore/deps/fork (#640) * chore(deps): update @modelcontextprotocol/sdk dependency and add new packages - Removed the MCP SDK update workflow as it is no longer needed. - Updated the @modelcontextprotocol/sdk dependency in multiple package.json files to point to the new GitHub repository. - Added new dependencies: glob and js-yaml, with specified version ranges. - Updated peer dependencies for express to support version 5.0.0. - Cleaned up package-lock files to reflect the new dependency structure. * chore(ci): optimize CI workflow for package path resolution and build process - Enhanced the CI workflow to improve package path resolution, ensuring accurate identification of package files across different environments. - Streamlined the build process for all necessary packages, improving reliability and consistency during builds. - Updated commands to utilize more robust methods for file searching, enhancing overall dependency management. * chore(typescript): version packages (canary) * chore(typescript): update package references to mcp-use/modelcontextprotocol-sdk (#641) - Changed all instances of @modelcontextprotocol/sdk to @mcp-use/modelcontextprotocol-sdk across various files. - Updated package.json files to reflect the new package versioning and structure. - Enhanced import paths in multiple components and utilities to ensure compatibility with the new SDK structure. - Added new dependencies and updated existing ones in the pnpm-lock.yaml file for consistency. * chore(typescript): version packages (canary) * feat: Improve typescript tel (#642) * feat: add telemetry event classes and interfaces for server and client interactions - Introduced new telemetry event classes: `ServerRunEvent`, `ServerInitializeEvent`, `ServerToolCallEvent`, `ServerResourceCallEvent`, `ServerPromptCallEvent`, `ServerContextEvent`, `MCPClientInitEvent`, and `ConnectorInitEvent`. - Added corresponding data interfaces for each event to enhance type safety and structure. - Updated the `Telemetry` class to include methods for tracking these new events, improving the telemetry system's capabilities. - Enhanced the `index.ts` file to export the new event classes and types for easier access throughout the library. * feat(telemetry): add isEnabled check to telemetry methods * fix: snake case properties * feat(telemetry): add MCPServer telemetry interface and data extraction method - Introduced the `MCPServerTelemetryInfo` interface to encapsulate necessary data for telemetry tracking from an MCPServer instance. - Added the `createServerRunEventData` function to centralize data extraction from MCPServer-like objects, enhancing the telemetry layer's functionality. - Updated the `Telemetry` class with a new method, `trackServerRunFromServer`, to track server run events directly using the new interface and extraction method. * feat(telemetry): enhance telemetry tracking for MCPClient and connectors - Integrated telemetry tracking for MCPClient initialization, connector initialization, and server events. - Added methods to track server runs, tool calls, prompt calls, and resource calls, improving observability of client-server interactions. - Updated the HttpConnector, StdioConnector, and BaseConnector classes to utilize the new tracking methods. - Enhanced MCPServer to log server initialization and execution metrics, providing better insights into server performance. * feat(telemetry): enhance resource tracking in server run events - Updated the `ServerRunEventData` interface to include new properties for tracking resources: `appsSdkResources`, `mcpUiResources`, and `mcpAppsResources`, along with their respective counts. - Refactored the `createServerRunEventData` function to map and filter resources based on MIME types, improving the granularity of telemetry data. - Adjusted the `ServerRunEvent` class to serialize the new resource properties, enhancing the telemetry output for better observability. * feat(versioning): automate version generation for telemetry - Added a new script `generate-version.mjs` to automatically generate `src/telemetry/version.ts` with the current package version during the build process. - Updated the `build` script in `package.json` to include the version generation step. - Refactored `getPackageVersion` function to return the embedded version from the generated file, improving version management. * tests for telemetry * add changeset * feat(telemetry): enhance runtime environment detection and user ID management - Introduced a comprehensive runtime environment detection system, supporting Node.js, Bun, Deno, Cloudflare Workers, Edge, and browser environments. - Added methods to determine storage capabilities for user ID persistence, including filesystem and localStorage options. - Refactored user ID retrieval to accommodate different environments, ensuring session-based IDs are generated when persistent storage is unavailable. - Enhanced telemetry event tracking by including runtime environment metadata in captured events, improving observability and debugging capabilities. * feat(telemetry): add browser stubs for Node.js-only packages - Introduced a Vite plugin to provide browser-compatible stubs for the `posthog-node` package, allowing it to be used in browser environments. - Updated the Vite server configuration to exclude `posthog-node` from dependency optimization and mark it as external in SSR mode, ensuring proper handling in both development and production builds. - Enhanced the overall compatibility of the telemetry system with browser environments by stubbing server-side functionality. * refactor: standardize code formatting and improve readability - Updated import statements to use consistent double quotes. - Reformatted function parameters and object properties for better readability across multiple files. - Enhanced the structure of telemetry-related code to improve maintainability and clarity. - Removed unnecessary blank lines to streamline the codebase. * feat(versioning): update version management and export functionality - Added version information export to the mcp-use package, allowing access to the package version across various modules. - Refactored the version generation script to output to a new location, ensuring consistency in version tracking. - Updated multiple files to import and utilize the new versioning functions, enhancing the overall version management system. * refactor(telemetry): remove unused ServerRunEventData import - Eliminated the import of ServerRunEventData from telemetry.ts to clean up the code and remove unnecessary dependencies. --------- Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * chore(typescript): version packages (canary) * feat(ci): update CI workflow to use local tar files for dependencies - Modified the CI workflow to create projects using local tar files instead of workspace dependencies. - Removed the previous steps for replacing workspace dependencies in `package.json`, simplifying the process. - Added a new helper function to validate and find required tar files in a specified directory, ensuring all necessary packages are present. - Enhanced the project creation logic to support a new `--tar` option for specifying the directory containing tar files. * feat: add recursive tar file search functionality - Introduced a new helper function to recursively find `.tgz` files in a specified directory, enhancing the ability to locate required tar files. - Updated the existing `findTarFiles` function to utilize the new recursive search, improving the validation and retrieval of tar files for project creation. - Enhanced error messages to provide clearer feedback on found tar files during the process. * refactor: clean up index.tsx and update CI workflow - Removed unused functions for tar file handling from `index.tsx`, simplifying the codebase. - Updated the CI workflow to ensure consistent packaging of the `mcp-use` package, enhancing the build process. - Adjusted the project creation logic to streamline dependency management and improve clarity in the workflow. * chore(ci): update E2E canary workflow permissions - Added permissions for actions and contents in the E2E canary workflow to enhance security and control over workflow execution. * refactor: enhance error handling display in OAuth callback (#644) - Refactored the error display logic in the OAuth callback to use DOM manipulation for improved safety and clarity. - Updated regex patterns in the OAuthHelper class to be more specific, enhancing the accuracy of authentication checks for various APIs. * chore(typescript): version packages (canary) * feat(chat): enhance tool integration in chat components (#643) - Added `tools` prop to `ChatTab` for better tool management. - Updated `MessageList` to accept `tools` and implemented a helper function to retrieve tool metadata. - Enhanced `ToolResultRenderer` to utilize tool metadata for improved rendering and error handling, including debug logging for better traceability. * chore(typescript): version packages (canary) * refactor: update regex patterns in OAuthHelper for improved DNS safety - Enhanced regex patterns in the OAuthHelper class to ensure DNS-safe domain matching, accommodating maximum label length restrictions for Google APIs, Atlassian, and Slack. - Improved clarity in comments to reflect the changes made to the regex patterns. * Fix/inspector/build (#645) * chore(inspector): update prepublishOnly script for improved build process - Modified the `prepublishOnly` script in the inspector package to first build the `mcp-use` package before executing the standard build, ensuring all dependencies are correctly prepared prior to publishing. * chore: changeset * chore(typescript): version packages (canary) * chore(ci): add workflow_dispatch trigger to E2E canary workflow - Introduced a manual trigger for the E2E canary workflow, allowing for on-demand execution alongside the existing workflow_run trigger. * Update conformance workflows to use published action (#647) * Update conformance workflows to use published action - Replace inline conformance testing with mcp-use/mcp-conformance-action@v1 - Simplify conformance-comment workflow to use action's comment mode - Maintains fork PR support via workflow_run pattern * Trigger conformance tests with fixed action * Trigger conformance with v1.0.2 (aggressive cleanup) * Trigger conformance with v1.0.3 (simplified cleanup) * Trigger conformance with v1.0.4 (detached spawn) * Trigger conformance after updating comment workflow on main * Trigger conformance with v1.0.5 (baseline comparison) * Trigger conformance with v1.0.6 (old artifact format support) * Potential fix for code scanning alert no. 45: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> * feat: Add browser tel to typescript (#651) * add posthog-js * refactor(telemetry): enhance telemetry functionality and browser support - Added support for browser environments in the Telemetry class, including dynamic imports of posthog-js for event tracking. - Introduced new events: ClientAddServerEvent and ClientRemoveServerEvent for better server management tracking. - Improved telemetry source management and user identification methods for both Node.js and browser contexts. - Refactored existing methods for better clarity and maintainability, including the initialization of PostHog clients based on the runtime environment. - Updated event capturing logic to handle both Node.js and browser clients effectively. * feat(telemetry): add ClientAddServerEvent and ClientRemoveServerEvent for server management - Introduced ClientAddServerEvent and ClientRemoveServerEvent classes to track server addition and removal. - Enhanced MCPClientInitEvent to include isBrowser property for better environment differentiation. - Improved properties extraction for new event classes to facilitate server management tracking. * feat(telemetry): unify telemetry exports and enhance backward compatibility - Added unified telemetry exports for browser and Node.js environments, including Tel and setTelemetrySource. - Introduced backward compatibility aliases for existing telemetry functionalities to ensure seamless integration for users transitioning to the new structure. * feat(telemetry): integrate telemetry tracking in MCPClient methods - Added telemetry tracking for server addition and removal in BaseMCPClient. - Implemented client initialization tracking in BrowserMCPClient to capture configuration details and environment context. - Enhanced error handling for telemetry tracking failures during client initialization. * feat(telemetry): enhance MCP telemetry tracking in useMcp hook - Integrated telemetry tracking for connection attempts, tool calls, and resource reads within the useMcp hook. - Added success and failure tracking for connections, tool executions, and resource accesses to improve monitoring and diagnostics. * chore(typescript): version packages (canary) --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Enrico Toniato <2827496+tonxxd@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Luigi Pederzani <luigipederzani@gmail.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> |
||
|
|
1cae240ca2 |
feat/docs (#340)
* Check out feat/server/python branch with latest docs * feat: structure v1 * feat: product navigation * stubs * emtpy pages * feat: home page * autogenerate docs updated * side bar on home page with redirects * theme adaptation of welcome cards * cleanup logos * cleanup * WIP disclosure in Python Server * feat: add initial documentation and images for MCP server framework * feat: add TypeScript documentation for mcp agent and mcp client + remove typescript reference from python files * fix: update sandbox documentation for Python and TypeScript clients - Adjusted Python sandbox documentation for clarity in API key usage. - Added a warning in TypeScript documentation indicating that sandbox execution is not yet supported, with a reference to the Python version for users needing this functionality. * feat: enhance TypeScript SDK documentation with new icons and structured navigation * fix * feat: update getting started guide * refactor: remove sandboxed execution section from TypeScript connection types documentation - Deleted the Sandboxed Execution section, including installation instructions and characteristics. - Updated the Choosing the Right Connection Type section to reflect the removal of sandboxed execution details. * feat: add observability documentation for MCP agents * feat: add comprehensive documentation for MCP server framework * feat: expand TypeScript server documentation with new templates, prompts, and UI widgets sections * fix * color hover * remove inspector * feat: remove claude code review * fix: broken links --------- Co-authored-by: Luigi Pederzani <luigipederzani@gmail.com> |
||
|
|
260b6ce034 |
fix: docs broken links and structure (#317)
* chore: move snippets in correct position * chore: remove unused variable * fix: broken links * fix: insructions on generate_docs |