LibreChat/packages/mcp/package.json

78 lines
2.8 KiB
JSON
Raw Normal View History

🔧 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
{
"name": "librechat-mcp",
"version": "1.0.0",
"type": "module",
"description": "MCP services for LibreChat",
"main": "dist/index.js",
"module": "dist/index.es.js",
"types": "./dist/types/index.d.ts",
"exports": {
".": {
"import": "./dist/index.es.js",
"require": "./dist/index.js",
"types": "./dist/types/index.d.ts"
}
},
"scripts": {
"clean": "rimraf dist",
"build": "npm run clean && rollup -c --silent --bundleConfigAsCjs",
"build:watch": "rollup -c -w",
"rollup:api": "npx rollup -c server-rollup.config.js --bundleConfigAsCjs",
"test": "jest --coverage --watch",
"test:ci": "jest --coverage --ci",
"verify": "npm run test:ci",
"b:clean": "bun run rimraf dist",
"b:build": "bun run b:clean && bun run rollup -c --silent --bundleConfigAsCjs",
"start:everything-sse": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/examples/everything/sse.ts",
"start:everything": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/demo/everything.ts",
"start:filesystem": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/demo/filesystem.ts",
"start:servers": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/demo/servers.ts"
},
"repository": {
"type": "git",
"url": "git+https://github.com/danny-avila/LibreChat.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/danny-avila/LibreChat/issues"
},
"homepage": "https://librechat.ai",
"devDependencies": {
"@babel/preset-env": "^7.21.5",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.21.0",
"@rollup/plugin-alias": "^5.1.0",
"@rollup/plugin-commonjs": "^25.0.2",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^15.1.0",
"@rollup/plugin-replace": "^5.0.5",
"@rollup/plugin-terser": "^0.4.4",
"@types/diff": "^6.0.0",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.2",
"@types/node": "^20.3.0",
"@types/react": "^18.2.18",
"@types/winston": "^2.4.4",
"jest": "^29.5.0",
"jest-junit": "^16.0.0",
"librechat-data-provider": "*",
"rimraf": "^5.0.1",
"rollup": "^4.22.4",
"rollup-plugin-generate-package-json": "^3.2.0",
"rollup-plugin-peer-deps-external": "^2.2.4",
"rollup-plugin-typescript2": "^0.35.0",
"ts-node": "^10.9.2",
"typescript": "^5.0.4"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.3",
"diff": "^7.0.0",
"eventsource": "^3.0.1",
"express": "^4.21.2"
}
}