MCP Server TypeScript
README.md
# 🚀 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
```bash
# 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:
```bash
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
```bash
# 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
```bash
# 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:
```bash
# 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
```bash
npm run build
```
O código TypeScript será compilado para `build/`.
## 📚 Documentação
- [Model Context Protocol](https://modelcontextprotocol.io/docs) - Documentação oficial
- [MCP SDK](https://modelcontextprotocol.io/docs/sdk) - SDK oficial
- [USAGE.md](USAGE.md) - Guia detalhado de uso
## 🤝 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 [LICENSE](LICENSE) para mais detalhes.
## ✨ Exemplo de Integração
Para usar com Claude Desktop, adicione ao seu arquivo de configuração:
```json
{
"mcpServers": {
"mcp-server-exemplo": {
"command": "node",
"args": ["/caminho/para/mcp-server/build/server.js"]
}
}
}
```
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues