Skip to content
This repository was archived by the owner on May 21, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,7 @@ import { WebSocketConnector } from './src/connectors/websocket.js'
import { Logger, logger } from './src/logging.js'
import { MCPSession } from './src/session.js'

export { BaseAdapter, LangChainAdapter } from './src/adapters/index.js'
export { ServerManager } from './src/managers/server_manager.js'

export { BaseConnector, HttpConnector, loadConfigFile, Logger, logger, MCPAgent, MCPClient, MCPSession, StdioConnector, WebSocketConnector }
20 changes: 12 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "mcp-use",
"type": "module",
"version": "0.0.6",
"packageManager": "pnpm@10.6.1",
"description": "A utility library for integrating Model Context Protocol (MCP) with LangChain, Zod, and related tools. Provides helpers for schema conversion, event streaming, and SDK usage.",
"author": "Zane",
"license": "MIT",
Expand Down Expand Up @@ -44,7 +45,7 @@
"registry": "https://registry.npmjs.org"
},
"scripts": {
"build": "rm -rf dist && tsc && shx chmod +x dist/*.js",
"build": "rm -rf dist && tsc",
"watch": "tsc --watch",
"start": "node dist/index.js",
"prepublishOnly": "pnpm run build",
Expand All @@ -56,21 +57,24 @@
},
"dependencies": {
"@dmitryrechkin/json-schema-to-zod": "^1.0.1",
"@langchain/community": "0.3.42",
"@langchain/core": "0.3.54",
"@modelcontextprotocol/sdk": "1.11.0",
"@langchain/community": "0.3.45",
"@langchain/core": "0.3.57",
"@modelcontextprotocol/sdk": "1.12.1",
"eventsource": "^3.0.6",
"langchain": "^0.3.24",
"fastembed": "^1.14.4",
"langchain": "^0.3.27",
"lodash-es": "^4.17.21",
"uuid": "^11.1.0",
"winston": "^3.17.0",
"ws": "^8.18.2",
"zod": "^3.24.4",
"zod": "^3.25.48",
"zod-to-json-schema": "^3.24.5"
},
"devDependencies": {
"@antfu/eslint-config": "^4.13.0",
"@antfu/eslint-config": "^4.13.2",
"@types/lodash-es": "^4.17.12",
"@types/ws": "^8.18.1",
"eslint": "^9.26.0",
"eslint": "^9.28.0",
"eslint-plugin-format": "^1.0.1",
"shx": "^0.4.0",
"typescript": "^5.8.3"
Expand Down
1,866 changes: 1,270 additions & 596 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/adapters/langchain_adapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export class LangChainAdapter extends BaseAdapter<StructuredToolInterface> {
return parseMcpToolResult(result)
}
catch (err: any) {
logger.error(`Error executing MCP tool: ${err}`)
logger.error(`Error executing MCP tool: ${err.message}`)
return `Error executing MCP tool: ${String(err)}`
}
},
Expand Down
1 change: 0 additions & 1 deletion src/agents/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
export { BaseAgent } from './base.js'
export { MCPAgent } from './mcp_agent.js'
export { ServerManager } from './server_manager.js'
8 changes: 4 additions & 4 deletions src/agents/mcp_agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import type { StructuredToolInterface, ToolInterface } from '@langchain/core/too
import type { AgentFinish, AgentStep } from 'langchain/agents'
import type { MCPClient } from '../client.js'
import type { BaseConnector } from '../connectors/base.js'
import type { ServerManager } from '../managers/server_manager.js'
import type { MCPSession } from '../session.js'
import type { ServerManager } from './server_manager.js'
import {
AIMessage,
HumanMessage,
Expand Down Expand Up @@ -107,7 +107,7 @@ export class MCPAgent {
await this.serverManager.initialize()

// Get server management tools
const managementTools = await this.serverManager.getServerManagementTools()
const managementTools = this.serverManager.tools
this.tools = managementTools
logger.info(
`🔧 Server manager mode active with ${managementTools.length} management tools`,
Expand Down Expand Up @@ -302,7 +302,7 @@ export class MCPAgent {

for (let stepNum = 0; stepNum < steps; stepNum++) {
if (this.useServerManager && this.serverManager) {
const currentTools = await this.serverManager.getAllTools()
const currentTools = this.serverManager.tools
const currentToolNames = new Set(currentTools.map(t => t.name))
const existingToolNames = new Set(this.tools.map(t => t.name))

Expand All @@ -322,7 +322,7 @@ export class MCPAgent {
}
}

logger.info(`🔍 Step ${stepNum + 1}/${steps}`)
logger.info(`👣 Step ${stepNum + 1}/${steps}`)

try {
logger.debug('Starting agent step execution')
Expand Down
188 changes: 0 additions & 188 deletions src/agents/server_manager.ts

This file was deleted.

7 changes: 5 additions & 2 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,13 @@ export class MCPClient {
return this.sessions
}

public getSession(serverName: string): MCPSession {
public getSession(serverName: string): MCPSession | null {
const session = this.sessions[serverName]
// if (!session) {
// throw new Error(`No session exists for server '${serverName}'`)
// }
if (!session) {
throw new Error(`No session exists for server '${serverName}'`)
return null
}
return session
}
Expand Down
Loading