IM

iannuttall/mcp-config

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

11 stars 3 forks 품질 69 트렌드 18MIT

Turn one MCP server setup into the right format for lots of apps.

개요

Turn one MCP server setup into the right format for lots of apps. - Keep one setup - Get the right file or command for each app - Skip hand edits across many formats - Copy src/ into your project - Import the helpers - Pick a client and transform - Claude Desktop - Cursor - Windsurf - VS Code / Copilot - Cline / Kilo Code / Roo Code - Zed - JetBrains IDEs - Amazon Q - LM Studio - Gemini CLI - Augment Code - OpenCode - Visual Studio - Warp - Perplexity Desktop - Kiro, Trae, BoltAI, Crush - And more - Claude Code - Amp - Factory (Droid) - Rovo Dev - OpenAI Codex CLI Transform a server config for a specific client. Get clients that support remote (HTTP) or local (stdio) servers.

README

원문 README의 일부입니다. 원문 보기.

MCP Config

Turn one MCP server setup into the right format for lots of apps.

  • Keep one setup
  • Get the right file or command for each app
  • Skip hand edits across many formats

Quick start

  • Copy src/ into your project
  • Import the helpers
  • Pick a client and transform
import { transformConfig, getClients } from "./src/index.js";

// List all supported clients
const clients = getClients();
// => [{ slug: "claude-desktop", name: "Claude Desktop", format: "json", ... }, ...]

const httpServer = {
  name: "playbooks",
  type: "http",
  url: "https://playbooks.com/api/mcp",
  headers: { Authorization: "Bearer YOUR_API_KEY" },
};

const stdioServer = {
  name: "my-server",
  type: "stdio",
  command: "npx",
  args: ["-y", "@example/mcp-server"],
  env: { API_KEY: "secret" },
};

// Make JSON for Cursor
const result = transformConfig({
  server: httpServer,
  client: "cursor",
});

console.log(result.config);
// {
//   "mcpServers": {
//     "playbooks": {
//       "url": "https://playbooks.com/api/mcp",
//       "headers": {
//         "Authorization": "Bearer YOUR_API_KEY"
//       }
//     }
//   }
// }

// Make a CLI command for Claude Code
const cliResult = transformConfig({
  server: stdioServer,
  client: "claude-code",
});

console.log(cliResult.config);
// => claude mcp add my-server -- npx -y @example/mcp-server

Running tests

bun install
bun test

Supported clients

JSON

  • Claude Desktop
  • Cursor
  • Windsurf
  • VS Code / Copilot
  • Cline / Kilo Code / Roo Code
  • Zed
  • JetBrains IDEs
  • Amazon Q
  • LM Studio
  • Gemini CLI
  • Augment Code
  • OpenCode
  • Visual Studio
  • Warp
  • Perplexity Desktop
  • Kiro, Trae, BoltAI, Crush
  • And more

CLI

  • Claude Code
  • Amp
  • Factory (Droid)
  • Rovo Dev
  • OpenAI Codex CLI

API

transformConfig(options)

Transform a server config for a specific client.

type TransformOptions = {
  server: McpServerConfig;
  client: string; // client slug
};

type TransformResult = {
  config: string; // The transformed config string
  format: ConfigFormat; // "json" | "cli" | "toml"
  client: McpClient; // Client metadata
};

getClients()

Get all supported clients.

getClient(slug)

Get a specific client by slug.

getClientsByTransport(transport)

Get clients that support remote (HTTP) or local (stdio) servers.

Types

type McpServerConfig =
  | {
      name: string;
      type: "http";
      url: string;
      headers?: Record;
    }
  | {
      name: string;
      type: "stdio";
      command: string;
      args?: string[];
      env?: Record;
    };

type McpClient = {
  slug: string;
  name: string;
  format: "json" | "cli" | "toml";
  supportsRemote: boolean;
  supportsLocal: boolean;
  docsUrl: string | null;
};

File structure

src/
├── index.ts           # Main exports
├── types.ts           # TypeScript types
├── clients.ts         # Client list
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

import { transformConfig, getClients } from "./src/index.js"; // List all supported clients const clients = getClients(); // => [{ slug: "claude-desktop", name: "Claude Desktop", format: "json", ... }, ...] const httpServer = { name: "playbooks", type: "http", url: "https://playbooks.com/api/mcp", headers: { Authorization: "Bearer YOUR_API_KEY" }, }; const stdioServer = { name: "my-server", type: "stdio", command: "npx", args: ["-y", "@example/mcp-server"], env: { API_KEY: "secret" }, }; // Make JSON for Cursor const result = transformConfig({ server: httpServer, client: "cursor", }); console.log(result.config); // { // "mcpServers": { // "playbooks": { // "url": "https://playbooks.com/api/mcp", // "headers": { // "Authorization": "Bearer YOUR_API_KEY" // } // } // } // } // Make a CLI command for Claude Code const cliResult = transformConfig({ server: stdioServer, client: "claude-code", }); console.log(cliResult.config); // => claude mcp add my-server -- npx -y @example/mcp-server