npm package: @normaai/mcp-server
Description: MCP Server per NormaAI — Normativa italiana per AI agent
Latest version: 1.1.0

# @normaai/mcp-server

[![npm version](https://img.shields.io/npm/v/@normaai/mcp-server.svg)](https://www.npmjs.com/package/@normaai/mcp-server)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

> MCP server that gives Claude Desktop, Claude Code, and Cursor direct access to Italian laws, regulations, and legal precedents.

## What is MCP?

The [Model Context Protocol](https://modelcontextprotocol.io) (MCP) is an open standard that lets AI assistants connect to external data sources and tools. By running the NormaAI MCP server, any MCP-compatible AI assistant can query the full NormaAI Italian legal knowledge base as a native tool.

## Installation

```bash
npx @normaai/mcp-server
```

No global install required. The server runs over stdio and is designed to be launched by your AI client.

## Configuration

### Claude Desktop

Add to your `claude_desktop_config.json` (Settings > Developer > Edit Config):

```json
{
  "mcpServers": {
    "normaai": {
      "command": "npx",
      "args": ["@normaai/mcp-server"],
      "env": {
        "NORMAAI_API_KEY": "nai_your_api_key"
      }
    }
  }
}
```

Restart Claude Desktop after saving. You should see "normaai" listed under the tools icon.

### Claude Code

Add to your project's `.claude/mcp.json`:

```json
{
  "mcpServers": {
    "normaai": {
      "command": "npx",
      "args": ["@normaai/mcp-server"],
      "env": {
        "NORMAAI_API_KEY": "nai_your_api_key"
      }
    }
  }
}
```

### Cursor

Add to your Cursor MCP settings (Settings > MCP):

```json
{
  "mcpServers": {
    "normaai": {
      "command": "npx",
      "args": ["@normaai/mcp-server"],
      "env": {
        "NORMAAI_API_KEY": "nai_your_api_key"
      }
    }
  }
}
```

## Available Tools

Once connected, the following tools are available to the AI assistant:

### `normaai_query`

Ask a natural-language question about Italian law and receive a sourced answer.

| Parameter     | Type     | Required | Description                              |
|---------------|----------|----------|------------------------------------------|
| `question`    | `string` | Yes      | Question in Italian                      |
| `vertical_id` | `string` | No      | Vertical to search (defaults to all)     |

### `normaai_search`

Search the NormaAI corpus for relevant legal passages without generating an AI answer. Useful when the assistant needs raw source material.

| Parameter     | Type     | Required | Description                              |
|---------------|----------|----------|------------------------------------------|
| `query`       | `string` | Yes      | Search query                             |
| `vertical_id` | `string` | No      | Vertical to search                       |
| `limit`       | `number` | No      | Max results to return (default: 5)       |

### `normaai_sources`

List all indexed legal sources for a given vertical.

| Parameter     | Type     | Required | Description                              |
|---------------|----------|----------|------------------------------------------|
| `vertical_id` | `string` | Yes     | Vertical identifier                      |

### `normaai_verticals`

List all available verticals with document counts. No parameters required.

## Example Conversation

Once the MCP server is running, you can interact naturally:

> **You:** What are the mandatory components of an Italian employment contract?
>
> **Claude:** *(uses normaai_query tool)* According to Italian employment law, an employment contract must include the following mandatory elements: [answer with cited sources from D.Lgs. 152/1997 and subsequent amendments...]
>
> **You:** What sources does NormaAI have on financial advisory regulations?
>
> **Claude:** *(uses normaai_sources tool)* The financial advisory vertical covers 1,200+ documents including CONSOB regulations, MiFID II transposition decrees, and TUF provisions...

## Available Verticals

| Vertical ID      | Target Professionals          |
|-------------------|-------------------------------|
| `lavoro`          | Labour Consultants            |
| `commercialista`  | Chartered Accountants         |
| `avvocato`        | Lawyers                       |
| `ingegnere`       | Engineers / Surveyors         |
| `finanziario`     | Financial Advisors            |

## Environment Variables

| Variable           | Required | Description             |
|--------------------|----------|-------------------------|
| `NORMAAI_API_KEY`  | Yes      | Your API key (`nai_...`)|

## Documentation

Full API documentation and guides at [docs.normaai.it](https://docs.normaai.it).

## License

MIT