A typed TypeScript client for Model Context Protocol (MCP) servers
npm install @codelytv/mcp-clientA TypeScript test client for Model Context Protocol (MCP) servers that provides a convenient way to test MCP functionality in your test suites.
``bash`
npm install --save-dev @codelytv/mcp-client
`typescript
import { McpClient } from '@codelytv/mcp-client';
const mcpClient = new McpClient("stdio", [
"npx",
"ts-node",
"./src/app/mcp/server.ts",
]);
await mcpClient.connect();
// List available tools
const tools = await mcpClient.listTools();
console.log('Available tools:', tools.names());
// Call a tool
const response = await mcpClient.callTool('search-course-by-id', { id: 'course-123' });
// List resources
const resources = await mcpClient.listResources();
console.log('Available resources:', resources.uris());
// Read a resource
const resource = await mcpClient.readResource('courses://all');
await mcpClient.disconnect();
`
`typescript`
const mcpClient = new McpClient("http", ["http://localhost:3000/mcp"]);
The main client class for interacting with MCP servers.
#### Constructor
- new McpClient(transport: "stdio" | "http", args: string[])
#### Methods
- connect() - Connect to the MCP serverdisconnect()
- - Disconnect from the MCP serverlistTools()
- - List available toolscallTool(name: string, args?: Record
- - Call a toollistResources()
- - List available resourcesreadResource(uri: string)
- - Read a resourcelistResourceTemplates()
- - List resource templatescompleteResourceTemplateParam(uri: string, paramName: string, textToComplete: string)
- - Complete resource template parameterslistPrompts()
- - List available promptsgetPrompt(name: string, args?: Record
-
See LICENSE