> ## Documentation Index
> Fetch the complete documentation index at: https://docs.director.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Client API Reference

The Client Configurator is a library that helps manage MCP Client configuration (checking client status, adding / removing servers, etc). Currently it supports Claude, Cursor & VSCode. The source code is available in [packages/client-configurator](https://github.com/director-run/director/tree/main/packages/client-configurator).

## API

```ts theme={null}

import { ConfiguratorTarget, getConfigurator } from "@director.run/client-configurator/index";

const claudeConfigurator = getConfigurator(ConfiguratorTarget.Claude);
// Is Claude installed on this machine?
await claudeConfigurator.isClientPresent();
await claudeConfigurator.isInstalled("my-proxy");
// Install an MCP server using a URL. If the client doesn't support HTTP, we use proxies.
await claudeConfigurator.install({
  name: "my-proxy",
  sseURL: "http://localhost:3673/my-proxy/sse",
  streamableURL: "http://localhost:3673/my-proxy/streamable",
});
await claudeConfigurator.uninstall("my-proxy");
// Clear the config file. Useful for development
await claudeConfigurator.reset();
```

## Adding support for a new client

```ts theme={null}
// Create a new configurator in ./src/
export class NewClientConfigurator extends AbstractConfigurator<ClaudeConfig> {
  // Implement the protected methods
}
```
