java-sdk-mcp-server
If you are the rightful owner of java-sdk-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This project demonstrates how to create a Model Context Protocol (MCP) Server using only the Java SDK.
Java SDK MCP Server
Este projeto demonstra como criar um Model Context Protocol (MCP) Server usando somente o Java SDK. O MCP é um protocolo que permite que ferramentas de IA conversem com sistemas externos de forma padronizada.
📋 Pré-requisitos
- Java 24 ou superior
- Maven 3.6+
- Git
🚀 Como Executar o Projeto
1. Clone o repositório
git clone https://github.com/moises-paschoalick/java-sdk-mcp-server.git
cd java-sdk-mcp-server
2. Navegue para o diretório do projeto MCP
cd java-mcp
3. Compile o projeto
mvn clean compile
4. Execute o projeto
mvn exec:java
Ou crie um JAR executável e execute:
mvn clean package
java -jar target/java-mcp-1.0-SNAPSHOT.jar
🏗️ Estrutura do Projeto
java-sdk-mcp-server/
├── java-mcp/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org/example/
│ │ │ │ └── Main.java
│ │ │ └── resources/
│ │ └── test/
│ ├── pom.xml
│ └── .gitignore
├── README.md
├── test-examples.md
└── .gitignore
🔧 Funcionalidades Implementadas
O servidor MCP implementa as seguintes ferramentas:
1. calculator
Calculadora simples que avalia expressões matemáticas básicas.
Parâmetros:
expression
: Expressão matemática (ex: "2 + 3", "10 * 5")
Exemplo de uso:
{
"expression": "15 + 25"
}
2. greeter
Saudação personalizada.
Parâmetros:
name
: Nome da pessoa para saudar
Exemplo de uso:
{
"name": "João"
}
3. get_info
Obtém informações sobre o servidor MCP.
Parâmetros: Nenhum
🧪 Testando com MCP Inspector
Para testar o servidor usando o MCP Inspector:
1. Instale o MCP Inspector
npm install -g @modelcontextprotocol/inspector
2. Execute o servidor
cd java-mcp
mvn clean package
3. Execute o MCP Inspector
# Obtenha o caminho completo do JAR
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH
# Execute o inspector
npx @modelcontextprotocol/inspector java -jar $FULL_PATH
4. No Inspector:
- Verifique a conexão do servidor no painel de conexão
- Navegue para a aba "Tools" para ver as ferramentas disponíveis
- Teste cada ferramenta clicando nelas e visualizando a resposta
- Monitore os logs no painel de Notificações
🔌 Integrando com Claude Desktop
Para usar este MCP server com Claude Desktop:
1. Obtenha o caminho completo do JAR
cd java-mcp
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH
2. Configure o Claude Desktop
- Abra as preferências do Claude Desktop
- Navegue para a seção "MCP Servers"
- Adicione um novo servidor com a seguinte configuração:
{
"java-mcp-example": {
"command": "java",
"args": [
"-jar",
"$FULL_PATH"
]
}
}
📚 Dependências Principais
- Jackson: Para processamento JSON
- SLF4J: Para logging
🔍 Exemplo de Implementação
O servidor é implementado usando uma abordagem simplificada que simula o comportamento do MCP usando STDIO e JSON:
// Configurar entrada e saída
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
// Enviar handshake inicial
sendHandshake(writer);
// Loop principal para processar mensagens
String line;
while ((line = reader.readLine()) != null) {
JsonNode request = mapper.readTree(line);
processRequest(request, writer);
}
🎯 Próximos Passos
- Adicionar mais ferramentas: Implemente ferramentas para operações de arquivo, consultas de banco de dados, etc.
- Implementar recursos: Adicione suporte para recursos (Resources) do MCP
- Adicionar autenticação: Implemente mecanismos de segurança
- Melhorar logging: Adicione logging estruturado e métricas
- Testes automatizados: Implemente testes unitários e de integração
- CI/CD: Configure pipeline de build e deploy
📖 Recursos Adicionais
🤝 Contribuindo
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.
🆘 Suporte
Se você encontrar algum problema ou tiver dúvidas, por favor abra uma issue no repositório.
📝 Sobre
Este projeto usa apenas o Java SDK para implementar um MCP Server. Para a implementação baseada em Spring, consulte o repositório spring-ai-mcp-server.