Devbrother2024 Typescript Mcp Server Boilerplate

ai.smithery由 smithery.ai 发布官方发布者v1.0.0更新于 Oct 24, 2026

Kickstart development with a customizable TypeScript template featuring sample tools for greeting,…

发布方自己的服务:222wcnm Bilistalkermcp

已验证Streamable HTTP可网页运行开发者工具

概览

AI 生成的概览

一个 TypeScript MCP 服务器样板模板,附带问候和计算器示例工具,供开发者构建自己的 MCP 服务器。

可以做什么
这是一个使用 TypeScript SDK 构建 MCP 服务器的起始模板。它内置示例工具,例如计算器(加、减、乘、除)和问候工具,以及服务器或系统信息等示例资源。开发者可以修改源码来重命名服务器、用 Zod 模式添加工具并注册资源,然后构建并运行。
适用场景
当你需要一个可运行的 TypeScript MCP 服务器起点,而不是现成的终端工具时使用它。它面向会修改代码并添加自己工具和资源的开发者。
运行要求
需要 Node.js 和 npm 来安装依赖并构建;项目通过 npm run build 编译,用 node 运行。若通过托管的 Smithery 端点连接,需要 Authorization bearer token 请求头。未声明其他账号或 API 密钥。
安装前请注意
托管端点需要 Authorization bearer token,这是机密信息,应妥善保管。该模板是示例代码:你添加的任何工具都可能调用外部 API 或读取文件,运行前请检查自己新增内容的行为。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Devbrother2024 Typescript Mcp Server Boilerplate,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/ai.smithery%2Fdevbrother2024-typescript-mcp-server-boilerplate/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "devbrother2024-typescript-boilerplate": {
      "type": "http",
      "url": "https://server.smithery.ai/@devbrother2024/typescript-mcp-server-boilerplate/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

TypeScript MCP Server 보일러플레이트

TypeScript MCP SDK를 활용하여 Model Context Protocol (MCP) 서버를 빠르게 개발할 수 있는 보일러플레이트 프로젝트입니다.

📁 프로젝트 구조

typescript-mcp-server-boilerplate/├── src/│   └── index.ts          # MCP 서버 메인 진입점├── build/                # 컴파일된 JavaScript 파일 (빌드 후 생성)├── package.json          # 프로젝트 의존성 및 스크립트├── tsconfig.json         # TypeScript 설정└── README.md            # 프로젝트 문서

🚀 시작하기

1. 의존성 설치

bash
npm install

2. 서버 이름 설정

src/index.ts 파일에서 서버 이름을 수정하세요:

typescript
const server = new McpServer({    name: 'typescript-mcp-server', // 여기를 원하는 서버 이름으로 변경    version: '1.0.0',    // 활성화 하고자 하는 기능 설정    capabilities: {        tools: {},        resources: {}    }})

💡 팁: 현재 보일러플레이트에는 이미 계산기와 인사 도구, 그리고 서버 정보 리소스가 예시로 구현되어 있습니다.

3. 빌드

bash
npm run build

4. 실행

bash
node build/index.js

빌드가 성공하면 build/ 디렉토리에 컴파일된 JavaScript 파일이 생성되고, 서버가 MCP 클라이언트의 연결을 대기합니다.

🛠️ 개발 가이드

MCP 도구(Tool) 추가하기

MCP 서버에 새로운 도구를 추가하려면 server.tool() 메서드에 Zod 스키마를 직접 정의하여 등록합니다:

typescript
import { z } from 'zod'
// 계산기 도구 추가server.tool(    'calculator',    {        operation: z            .enum(['add', 'subtract', 'multiply', 'divide'])            .describe('수행할 연산 (add, subtract, multiply, divide)'),        a: z.number().describe('첫 번째 숫자'),        b: z.number().describe('두 번째 숫자')    },    async ({ operation, a, b }) => {        // 연산 수행        let result: number        switch (operation) {            case 'add':                result = a + b                break            case 'subtract':                result = a - b                break            case 'multiply':                result = a * b                break            case 'divide':                if (b === 0) throw new Error('0으로 나눌 수 없습니다')                result = a / b                break            default:                throw new Error('지원하지 않는 연산입니다')        }
        const operationSymbols = {            add: '+',            subtract: '-',            multiply: '×',            divide: '÷'        } as const
        const operationSymbol =            operationSymbols[operation as keyof typeof operationSymbols]
        return {            content: [                {                    type: 'text',                    text: `${a} ${operationSymbol} ${b} = ${result}`                }            ]        }    })
더 복잡한 도구 예시
typescript
// 날씨 정보 조회 도구server.tool(    'get_weather',    {        city: z.string().describe('날씨를 조회할 도시명'),        unit: z            .enum(['celsius', 'fahrenheit'])            .optional()            .default('celsius')            .describe('온도 단위 (기본값: celsius)')    },    async ({ city, unit }) => {        try {            // 실제 날씨 API 호출 로직 (예시)            const weatherData = await fetchWeatherData(city, unit)
            return {                content: [                    {                        type: 'text',                        text: `${city}의 현재 날씨:온도: ${weatherData.temperature}°${unit === 'celsius' ? 'C' : 'F'}날씨: ${weatherData.condition}습도: ${weatherData.humidity}%풍속: ${weatherData.windSpeed}km/h`                    }                ]            }        } catch (error) {            throw new Error(                `날씨 정보를 가져올 수 없습니다: ${(error as Error).message}`            )        }    })
// 도우미 함수async function fetchWeatherData(city: string, unit: string) {    // 실제 날씨 API 호출 구현    // 여기서는 예시 데이터 반환    return {        temperature: unit === 'celsius' ? 22 : 72,        condition: '맑음',        humidity: 65,        windSpeed: 12    }}

리소스 추가하기

MCP 서버에 리소스를 추가하여 외부 데이터나 파일에 대한 접근을 제공할 수 있습니다:

typescript
// 리소스 등록server.resource(    'example-file',    'file://example.txt',    {        name: '예시 텍스트 파일',        description: '예시 텍스트 파일 설명',        mimeType: 'text/plain'    },    async () => {        return {            contents: [                {                    uri: 'file://example.txt',                    mimeType: 'text/plain',                    text: '예시 파일 내용입니다.'                }            ]        }    })
// 동적 리소스 예시server.resource(    'app-settings',    'config://settings',    {        name: '애플리케이션 설정',        description: '애플리케이션의 현재 설정 정보',        mimeType: 'application/json'    },    async () => {        const settings = {            theme: 'dark',            language: 'ko-KR',            notifications: true,            lastUpdated: new Date().toISOString()        }
        return {            contents: [                {                    uri: 'config://settings',                    mimeType: 'application/json',                    text: JSON.stringify(settings, null, 2)                }            ]        }    })

📦 주요 의존성

  • @modelcontextprotocol/sdk: MCP 프로토콜 구현을 위한 공식 SDK
  • zod: TypeScript 우선 스키마 검증 라이브러리
  • typescript: TypeScript 컴파일러

🔧 스크립트

  • npm run build: TypeScript를 JavaScript로 컴파일하고 실행 권한 설정

📋 사용 예시

완전한 서버 예시

typescript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'import { z } from 'zod'
// 서버 생성const server = new McpServer({    name: 'my-mcp-server',    version: '1.0.0',    capabilities: {        tools: {},        resources: {}    }})
// 간단한 인사 도구server.tool(    'greet',    {        name: z.string().describe('인사할 사람의 이름'),        language: z            .enum(['ko', 'en'])            .optional()            .default('ko')            .describe('인사 언어 (기본값: ko)')    },    async ({ name, language }) => {        const greeting =            language === 'ko' ? `안녕하세요, ${name}님!` : `Hello, ${name}!`
        return {            content: [                {                    type: 'text',                    text: greeting                }            ]        }    })
// 시스템 정보 리소스server.resource(    'system-info',    'system://info',    {        name: '시스템 정보',        description: '서버의 현재 상태 및 시스템 정보',        mimeType: 'application/json'    },    async () => {        const systemInfo = {            server: 'my-mcp-server',            version: '1.0.0',            timestamp: new Date().toISOString(),            uptime: process.uptime()        }
        return {            contents: [                {                    uri: 'system://info',                    mimeType: 'application/json',                    text: JSON.stringify(systemInfo, null, 2)                }            ]        }    })
// 서버 시작async function main() {    const transport = new StdioServerTransport()    await server.connect(transport)    console.error('MCP 서버가 시작되었습니다')}
main().catch(console.error)

🔧 Cursor MCP 연결

개발한 MCP 서버를 Cursor에서 테스트할 수 있습니다:

설정 파일 수정

./.cursor/mcp.json 파일을 편집합니다:

json
{    "mcpServers": {        "typescript-mcp-server": {            "command": "node",            "args": ["/ABSOLUTE/PATH/TO/YOUR/PROJECT/build/index.js"]        }    }}

주의: 절대 경로를 사용해야 합니다. pwd 명령어로 현재 경로를 확인하세요.

테스트 명령어

Cursor MCP에서 다음과 같이 테스트해볼 수 있습니다:

  • "5 더하기 3은 얼마야?" (계산기 도구 테스트)
  • "안녕하세요 라고 인사해줘" (인사 도구 테스트)
  • 서버 정보 리소스 조회

🔗 참고 자료

📄 라이선스

MIT

来源:README.md,提交 db529f0

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Smithery 集成