# MCP API reference

> Exports of @anymux/mcp.

Source: https://anymux-docs.n.yatsyk.com/docs/mcp/jsdoc

## Classes

### AnyFsMcpServer

```ts
class AnyFsMcpServer
```

- `constructor(providers: IProvider[], config?: AnyFsMcpServerConfig): AnyFsMcpServer`
- `startStdio(): Promise<void>`
- `startSSE(port: number): Promise<void>`
- `close(): Promise<void>`
- `getTools(): ToolDefinition[]` — Exposed for testing
- `callTool(toolName: string, args: Record<string, unknown>): Promise<ToolResult>` — Exposed for testing

## Functions

### generateTools

Generate MCP tool definitions from an array of providers.
Tool names follow the pattern: {providerId}_{capability}_{method}

```ts
generateTools(providers: IProvider[]): ToolDefinition[]
```

### parseToolName

Parse a tool name into its components.

```ts
parseToolName(toolName: string): { providerId: string; capability: CapabilityType; method: string; } | null
```

## Types

### ToolResult

```ts
type ToolResult = {
  content: Array<{ type: 'text'; text: string } | { type: 'image'; data: string; mimeType: string }>;
  isError?: boolean;
}
```

## Interfaces

### AnyFsMcpServerConfig

```ts
interface AnyFsMcpServerConfig
```

- `name: string`
- `version: string`

### ToolDefinition

```ts
interface ToolDefinition
```

- `name: string`
- `description: string`
- `inputSchema: Record<string, unknown>`
