Token导航 LogoToken导航TokenDH.com
MCP Compiler logo
开发工具未说明官方级别未说明来源级核验

MCP Compiler

MCP Server

将纯TypeScript函数转换为MCP服务器的开发工具,适用于需要快速构建MCP服务的开发者。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
开发工具TypeScript本地部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kolodny

提供方

kolodny

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

mcp编译器

将纯TypeScript函数转换为MCP服务器。

安装

npm install mcp-compiler

用法

// tools.ts

/** add number */
export const add = async (num1: number, num2?: number) => num1 + (num2 ?? 0);

/** say hi to user */
export const sayHi = (name: string) => `Hi, ${name}`;

export const makeUser = (user: {
  /** Name of user */ name: string;
  /** Age of user */ age?: number;
}) => user;
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import * as z from 'zod/v4';

import { compile, generateSchemas } from 'mcp-compiler';
import * as tools from './tools';

const pathToTools = `${__dirname}/tools.ts`;
const schemas = generateSchemas(pathToTools); // OK for dev, pre-build and load from file for release.
const compiled = compile({ tools, schemas, z });

const server = new McpServer(
  { name: 'My-Server', version: '1.0.0' },
  { capabilities: { tools: {} } }
);

for (const { name, description } of compiled.tools) {
  const zodSchemas = compiled.makeZodSchemas(name);
  const fn = compiled.callTool.bind(null, name);
  server.registerTool(name, { ...zodSchemas, description }, fn);
}

async function runServer() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
  console.error(`MCP Server running on stdio`);
}

runServer().catch((error) => {
  console.error(`Fatal error running server:`, error);
  process.exit(1);
});

Use with low level Server class for advanced use cases

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import {
  CallToolRequestSchema,
  ListToolsRequestSchema,
} from '@modelcontextprotocol/sdk/types.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

import { compile, generateSchemas } from 'mcp-compiler';
import * as tools from './tools';

const pathToTools = `${__dirname}/tools.ts`;
const schemas = generateSchemas(pathToTools); // OK for dev, pre-build and load from file for release.
const compiled = compile({ tools, schemas });

const server = new Server(
  { name: 'My-Server', version: '1.0.0' },
  { capabilities: { tools: {} } }
);
server.setRequestHandler(ListToolsRequestSchema, compiled.ListToolsHandler);
server.setRequestHandler(CallToolRequestSchema, compiled.CallToolHandler);

async function runServer() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
  console.error(`MCP Server running on stdio`);
}

runServer().catch((error) => {
  console.error(`Fatal error running server:`, error);
  process.exit(1);
});

目录标签

目录标签

开发工具TypeScript本地部署MCP服务器函数转换

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP