mcp-server-typescript

YanViniciusSilva/mcp-server-typescript

3.1

If you are the rightful owner of mcp-server-typescript and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This project demonstrates how to create a functional Model Context Protocol (MCP) server implemented in TypeScript, providing resources, tools, and prompts for integration with LLMs.

Tools
3
Resources
0
Prompts
0

🚀 Servidor MCP em TypeScript

Um servidor completo do Model Context Protocol (MCP) implementado em TypeScript, fornecendo recursos, ferramentas e prompts para integração com LLMs.

📋 Sobre o Projeto

Este projeto demonstra como criar um servidor MCP funcional que pode ser integrado com clientes como Claude Desktop, fornecendo:

  • Recursos: Documentação, configurações e guias
  • Ferramentas: Calculadora, consulta de clima e timestamp
  • Prompts: Templates para análise de código, documentação e resolução de problemas

🛠️ Instalação

# Clone o repositório
git clone https://github.com/seu-usuario/mcp-server.git
cd mcp-server

# Instale as dependências
npm install

# Compile o projeto
npm run build

⚙️ Configuração

  1. Opcional: Copie env.example para .env e configure as variáveis:

    cp env.example .env
    
  2. Variáveis disponíveis:

    • SERVER_NAME: Nome do servidor (padrão: "mcp-server-exemplo")
    • SERVER_VERSION: Versão do servidor (padrão: "1.0.0")

🚀 Uso

Comandos Disponíveis

# Desenvolvimento (compila + executa)
npm run dev

# Compilar apenas
npm run build

# Executar servidor
npm start

# Ver demonstração das funcionalidades
npm run demo

Testando com MCP Inspector

# Instalar e executar MCP Inspector
npx @modelcontextprotocol/inspector node build/server.js

Isso abrirá uma interface web onde você pode testar todas as funcionalidades do servidor.

📁 Estrutura do Projeto

mcp-server/
├── src/
│   ├── server.ts              # Servidor principal
│   ├── types/
│   │   └── index.ts           # Definições de tipos
│   ├── handlers/
│   │   ├── resources.ts       # Manipulador de recursos
│   │   ├── tools.ts          # Manipulador de ferramentas
│   │   └── prompts.ts        # Manipulador de prompts
│   └── example-usage.ts       # Exemplos de uso
├── tests/                     # Arquivos de teste
├── build/                     # JavaScript compilado
├── package.json              # Configuração do projeto
├── tsconfig.json             # Configuração TypeScript
└── README.md                 # Este arquivo

🎯 Funcionalidades

📋 Recursos (Resources)

  • mcp://exemplo/doc1: Documentação da API
  • mcp://exemplo/config1: Configurações do servidor
  • mcp://exemplo/help1: Guia de ajuda

🔧 Ferramentas (Tools)

  • calculator: Operações matemáticas básicas
  • weather: Informações meteorológicas simuladas
  • timestamp: Data e hora atual

💬 Prompts

  • analisar-codigo: Análise e revisão de código
  • gerar-documentacao: Geração de documentação
  • resolver-problema: Ajuda com problemas de programação

🧪 Testes

Execute os testes disponíveis:

# Teste direto do servidor
node tests/test-direct.js

# Demonstração das funcionalidades
node demo.js

🔧 Desenvolvimento

Adicionando Novas Funcionalidades

  1. Novo Recurso: Edite src/handlers/resources.ts
  2. Nova Ferramenta: Edite src/handlers/tools.ts
  3. Novo Prompt: Edite src/handlers/prompts.ts
  4. Novos Tipos: Defina em src/types/index.ts

Compilação

npm run build

O código TypeScript será compilado para build/.

📚 Documentação

🤝 Contribuição

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-funcionalidade)
  3. Commit suas mudanças (git commit -am 'Adiciona nova funcionalidade')
  4. Push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença ISC. Veja o arquivo para mais detalhes.

✨ Exemplo de Integração

Para usar com Claude Desktop, adicione ao seu arquivo de configuração:

{
  "mcpServers": {
    "mcp-server-exemplo": {
      "command": "node",
      "args": ["/caminho/para/mcp-server/build/server.js"]
    }
  }
}