Skip to main content
Glama
weidongxu-microsoft

Azure Java SDK MCP Server

README.md
# 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

B3/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness1/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues