MCP Server Starter

Um projeto inicial para construir servidores MCP com TypeScript e Bun.

Documentação

MCP Server Starter

smithery badge

Um modelo inicial pronto para produção para construir servidores Model Context Protocol (MCP) com TypeScript.

Server Starter MCP server

🚀 Início Rápido

  1. Clone o repositório
  2. Instale as dependências:
    bun install
    

✨ Recursos Principais

  • Bun para testes e desenvolvimento rápidos
  • Biome para linting e formatação
  • Gerenciamento automatizado de versões com standard-version
  • Estrutura de projeto limpa e de fácil manutenção

📂 Estrutura do Projeto

mcp-starter/
├── src/
│   ├── tools/          # MCP tools implementation
│   ├── utils/          # Shared utilities
│   ├── main.ts         # Server entry point
│   └── types.ts        # Shared type definitions
├── tests/              # Test files
├── biome.json          # Linting configuration
├── tsconfig.json       # TypeScript configuration
└── package.json        # Project dependencies

⚙️ Configuração

Criando Novas Ferramentas

O projeto inclui um script para ajudar a criar novas ferramentas MCP:

bun run scripts/create-tool.ts <tool-name>

Isso irá:

  1. Criar um novo diretório de ferramenta em src/tools/<tool-name>
  2. Gerar a estrutura básica da ferramenta, incluindo:
    • index.ts (implementação principal)
    • schema.ts (schema JSON para parâmetros da ferramenta)
    • test.ts (arquivo de teste)
  3. Atualizar o arquivo de índice das ferramentas para exportar a nova ferramenta

Exemplo:

bun run scripts/create-tool.ts weather

🛠️ Desenvolvimento

  • Executar testes: bun test
  • Formatar código: bun run format
  • Lint do código: bun run lint
  • Compilar projeto: bun run build

Para adicionar seu servidor MCP de desenvolvimento ao Claude Desktop:

  1. Compile o projeto:
    bun run build
    
  2. Adicione à sua configuração do Claude Desktop:
    // You only need the argument if you need to pass arguments to your server
    {
      "mcpServers": {
        "your-server-name": {
          "command": "node",
          "args": ["/path/to/your/project/dist/main.js", "some_argument"]
        }
      }
    }
    

📜 Gerenciamento de Versões

Este projeto usa standard-version para gerenciamento automatizado de versões. Execute bun run release para criar uma nova versão.

Formato da Mensagem de Commit

  • feat: Novo recurso (incrementa versão menor)
  • fix: Correção de bug (incrementa versão de patch)
  • BREAKING CHANGE: Mudança significativa (incrementa versão principal)

📦 Publicação no npm

  1. Certifique-se de estar logado no npm:
    npm login
    
  2. Compile o projeto:
    bun run build
    
  3. Publique o pacote:
    npm publish
    

Lembre-se de atualizar o número da versão usando bun run release antes de publicar novas versões.

Instalação via Smithery

Para instalar o Weather MCP Server Starter para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @GreatAuk/mcp-weather --client claude

Instalação a partir do npm (após publicação)

Adicione à sua configuração do Claude Desktop:

// Você só precisa do argumento se precisar passar argumentos para o seu servidor
{
  "mcpServers": {
    "your-server-name": {
      "command": "npx",
      "args": ["-y", "your-package-name", "some_argument"]
    }
  }
}