간단한 MCP
MCP (Model Context Protocol) 서버를 만드는 간단한 TypeScript 라이브러리입니다.
특징
- 간단한 API : 최소한의 코드로 MCP 서버 생성
- 유형 안전성 : 전체 TypeScript 통합
- 매개변수 검증 : Zod 내장 검증
- MCP 호환 : 모델 컨텍스트 프로토콜을 완벽하게 구현합니다.
설치
지엑스피1
빠른 시작
import { McpServer } from 'simple-mcp';
import { z } from 'zod';
// Create a server instance
const server = new McpServer({ name: 'my-server' });
// Register the tool with the server
server.tool({
name: 'greet',
parameters: {
name: z.string().describe('Person\'s name')
},
execute: async ({ name }) => {
return {
content: [
{
type: 'text',
text: `Hello, ${name}! Nice to meet you.`
}
]
};
}
});
// Start the server
server.start({ transportType: 'stdio' });
클래스 기반 구현
클래스를 사용하여 MCP 도구를 구현할 수도 있습니다.
import { McpServer, type McpTool } from 'simple-mcp';
import { z, ZodObject } from 'zod';
const parameters = {
name: z.string().describe('The name is required'),
};
class GreetTool implements McpTool<typeof parameters> {
public readonly name = 'greet';
public readonly parameters = parameters;
public async execute({ name }: z.infer<ZodObject<typeof this.parameters>>) {
return {
content: [
{
type: 'text',
text: `Hello, ${name}! Nice to meet you.`,
},
],
};
}
}
// Initialize a new MCP server with the name 'greet-server'
const server = new McpServer({ name: 'greet-server' });
// Create an instance of the GreetTool class
const greetTool = new GreetTool();
// Register the tool with the server
server.tool(greetTool);
// Start the server using stdio as the transport method
server.start({ transportType: 'stdio' });
예시
더 자세한 예제는 예제 디렉토리 에서 확인하세요.
기여하다
기여를 환영합니다! 이슈를 개설하거나 풀 리퀘스트를 제출해 주세요.
특허
MIT