YanViniciusSilva/mcp-server-typescript
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.
🚀 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
-
Opcional: Copie
env.examplepara.enve configure as variáveis:cp env.example .env -
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
- Novo Recurso: Edite
src/handlers/resources.ts - Nova Ferramenta: Edite
src/handlers/tools.ts - Novo Prompt: Edite
src/handlers/prompts.ts - Novos Tipos: Defina em
src/types/index.ts
Compilação
npm run build
O código TypeScript será compilado para build/.
📚 Documentação
- Model Context Protocol - Documentação oficial
- MCP SDK - SDK oficial
- - Guia detalhado de uso
🤝 Contribuição
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - 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"]
}
}
}