LibreChat/api/server/services
Danny Avila e391347b9e
🔧 feat: Initial MCP Support (Tools) (#5015)
* 📝 chore: Add comment to clarify purpose of check_updates.sh script

* feat: mcp package

* feat: add librechat-mcp package and update dependencies

* feat: refactor MCPConnectionSingleton to handle transport initialization and connection management

* feat: change private methods to public in MCPConnectionSingleton for improved accessibility

* feat: filesystem demo

* chore: everything demo and move everything under mcp workspace

* chore: move ts-node to mcp workspace

* feat: mcp examples

* feat: working sse MCP example

* refactor: rename MCPConnectionSingleton to MCPConnection for clarity

* refactor: replace MCPConnectionSingleton with MCPConnection for consistency

* refactor: manager/connections

* refactor: update MCPConnection to use type definitions from mcp types

* refactor: update MCPManager to use winston logger and enhance server initialization

* refactor: share logger between connections and manager

* refactor: add schema definitions and update MCPManager to accept logger parameter

* feat: map available MCP tools

* feat: load manifest tools

* feat: add MCP tools delimiter constant and update plugin key generation

* feat: call MCP tools

* feat: update librechat-data-provider version to 0.7.63 and enhance StdioOptionsSchema with additional properties

* refactor: simplify typing

* chore: update types/packages

* feat: MCP Tool Content parsing

* chore: update dependencies and improve package configurations

* feat: add 'mcp' directory to package and update configurations

* refactor: return CONTENT_AND_ARTIFACT format for MCP callTool

* chore: bump @librechat/agents

* WIP: MCP artifacts

* chore: bump @librechat/agents to v1.8.7

* fix: ensure filename has extension when saving base64 image

* fix: move base64 buffer conversion before filename extension check

* chore: update backend review workflow to install MCP package

* fix: use correct `mime` method

* fix: enhance file metadata with message and tool call IDs in image saving process

* fix: refactor ToolCall component to handle MCP tool calls and improve domain extraction

* fix: update ToolItem component for default isInstalled value and improve localization in ToolSelectDialog

* fix: update ToolItem component to use consistent text color for tool description

* style: add theming to ToolSelectDialog

* fix: improve domain extraction logic in ToolCall component

* refactor: conversation item theming, fix rename UI bug, optimize props, add missing types

* feat: enhance MCP options schema with base options (iconPath to start) and make transport type optional, infer based on other option fields

* fix: improve reconnection logic with parallel init and exponential backoff and enhance transport debug logging

* refactor: improve logging format

* refactor: improve logging of available tools by displaying tool names

* refactor: improve reconnection/connection logic

* feat: add MCP package build process to Dockerfile

* feat: add fallback icon for tools without an image in ToolItem component

* feat: Assistants Support for MCP Tools

* fix(build): configure rollup to use output.dir for dynamic imports

* chore: update @librechat/agents to version 1.8.8 and add @langchain/anthropic dependency

* fix: update CONFIG_VERSION to 1.2.0
2024-12-17 13:12:57 -05:00
..
Config 🎉 feat: Code Interpreter API and Agents Release (#4860) 2024-12-04 15:48:13 -05:00
Endpoints 🔧 feat: Initial MCP Support (Tools) (#5015) 2024-12-17 13:12:57 -05:00
Files 🔧 feat: Initial MCP Support (Tools) (#5015) 2024-12-17 13:12:57 -05:00
Runs 🤖 fix: Minor Assistants Issues (#4436) 2024-10-16 15:04:10 -04:00
start 🤖 feat: Add Agents librechat.yaml Configuration (#4953) 2024-12-12 08:58:00 -05:00
Threads 🧵 fix: Assistants API Thread ID Handling (#4912) 2024-12-09 08:38:39 -05:00
ActionService.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
ActionService.spec.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
AppService.interface.spec.js 🧠 feat: Prompt caching switch, prompt query params; refactor: static cache, prompt/markdown styling, trim copied code, switch new chat to convo URL (#3784) 2024-08-26 15:34:46 -04:00
AppService.js 🔧 feat: Initial MCP Support (Tools) (#5015) 2024-12-17 13:12:57 -05:00
AppService.spec.js 🧠 feat: Prompt caching switch, prompt query params; refactor: static cache, prompt/markdown styling, trim copied code, switch new chat to convo URL (#3784) 2024-08-26 15:34:46 -04:00
AssistantService.js 🤖 feat: OpenAI Assistants v2 (initial support) (#2781) 2024-05-19 12:56:55 -04:00
AuthService.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
cleanup.js 🧹 fix: Resolve Unarchive Conversation Bug, Archive Pagination (#4189) 2024-09-22 17:21:50 -04:00
createRunBody.js feat: Add Current Datetime to Assistants (v1/v2) (#4952) 2024-12-11 15:26:18 -05:00
domains.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
domains.spec.js 🔐 feat: Implement Allowed Action Domains (#4964) 2024-12-12 12:52:42 -05:00
MCP.js 🔧 feat: Initial MCP Support (Tools) (#5015) 2024-12-17 13:12:57 -05:00
ModelService.js 🕒 feat: Add 5-second timeout for Fetching Model Lists (#4423) 2024-10-15 19:37:41 -04:00
ModelService.spec.js 🕒 feat: Add 5-second timeout for Fetching Model Lists (#4423) 2024-10-15 19:37:41 -04:00
PluginService.js 🎉 feat: Code Interpreter API and Agents Release (#4860) 2024-12-04 15:48:13 -05:00
signPayload.js chore: remove jose as Bun now supports JWT 🍞 (#1167) 2023-11-12 00:44:46 -05:00
Tokenizer.js 🚧 chore: merge latest dev build to main repo (#3844) 2024-08-31 16:33:51 -04:00
ToolService.js 🔧 feat: Initial MCP Support (Tools) (#5015) 2024-12-17 13:12:57 -05:00
UserService.js 🛠️ fix: Remove expiresAt field when setting expiry to "never" (#4294) 2024-10-03 07:17:21 -04:00