@codelytv/mcp-client
v0.7.0
Published
A typed TypeScript client for Model Context Protocol (MCP) servers
Readme
@codelytv/mcp-client
A TypeScript test client for Model Context Protocol (MCP) servers that provides a convenient way to test MCP functionality in your test suites.
Installation
npm install --save-dev @codelytv/mcp-clientUsage
Basic Example
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();HTTP Transport
const mcpClient = new McpClient("http", ["http://localhost:3000/mcp"]);API
McpClient
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<string, unknown>)- 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<string, unknown>)- Get a prompt
License
See LICENSE
