Azure Java SDK MCP Server
# MCP Server in JavaScript
A Model Context Protocol (MCP) server implementation using JavaScript and the official MCP SDK.
## Overview
This project demonstrates how to build an MCP server that can provide tools and resources to AI assistants. The Model Context Protocol enables secure, standardized connections between AI applications and external data sources.
## Features
This MCP server includes the following tools:
- **azure-java-sdk-code-samples-mcp-server** - Get readme.md for Azure Java SDK, which includes introduction, key concepts, and code samples
## Prerequisites
- Node.js (version 18 or higher)
- npm or yarn package manager
## Installation
1. Clone or download this project
2. Install dependencies:
```bash
npm install
```
## Usage
### Running the Server
Start the MCP server:
```bash
npm start
```
For development with debugging:
```bash
npm run dev
```
Or press **F5** in VS Code to start debugging.
### Connecting to AI Assistants
This MCP server can be connected to various AI assistants that support the Model Context Protocol:
1. **Claude Desktop** - See `MCP_CONFIG.md` for configuration details
2. **Continue.dev** - VS Code extension that supports MCP
3. **Other MCP clients** - Any client that supports stdio transport
#### VS Code
Sample `mcp.json` for connect locally.
```json
{
// š” Inputs are prompted on first server start, then stored securely by VS Code.
"inputs": [
],
"servers": {
"azure-java-sdk-mcp": {
"type": "stdio",
"command": "node",
"args": [
"<path-to-index.js>"
]
}
}
}
```
One may need to "start" it once, to cache the tools.
### Available VS Code Tasks
- **Run MCP Server** - Starts the server normally
- **Debug MCP Server** - Starts with Node.js inspector for debugging
## Development
### Project Structure
```
āāā index.js # Main MCP server implementation
āāā package.json # Project configuration
āāā .github/
ā āāā copilot-instructions.md # Copilot customization
āāā README.md # This file
```
### Adding New Tools
To add a new tool:
1. Add the tool definition in the `ListToolsRequestSchema` handler
2. Implement the tool logic in the `CallToolRequestSchema` handler
3. Include proper input validation and error handling
### Error Handling
The server uses `McpError` for proper error responses:
- `ErrorCode.InvalidRequest` - For invalid parameters
- `ErrorCode.MethodNotFound` - For unknown tools
- `ErrorCode.InternalError` - For unexpected errors
## MCP Protocol
This server implements the Model Context Protocol specification. For more information about MCP:
- [MCP Documentation](https://modelcontextprotocol.io/)
- [MCP Specification](https://spec.modelcontextprotocol.io/)
## License
ISC License
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a clear and distinct purpose focused on retrieving code samples for the Azure Java SDK.
Since there is only one tool, naming consistency is inherently perfect. The tool name follows a descriptive snake_case pattern that clearly indicates its function.
A single tool is too few for a server named 'Azure Java SDK MCP Server', which suggests a broad domain like Azure services with Java SDK operations. This minimal toolset severely limits functionality and scope, making it inappropriate for the apparent purpose.
The toolset is severely incomplete for the domain implied by the server name. It only provides code samples, lacking any CRUD operations, management tasks, or other essential functions for interacting with Azure services via the Java SDK, leaving significant gaps that will cause agent failures.