Skip to main content
Glama
pkolawa

KRS Poland MCP Server

by pkolawa
README.md
![logo](logo.png)

# KRS Poland MCP Server

An MCP server for the Polish National Court Register (KRS) public API.

## Usage

This server is designed to be run with `npx`, allowing you to use it as a tool provider for LLM clients without a global installation.

### Running with `npx`

To start the server, run the following command:

```bash
npx krs-poland-mcp-server
```

### Configuration for LLM Clients

To integrate this server with an LLM client (like LM Studio or others that support MCP), you can configure it to spawn the server process. Here is an example configuration:

```json
{
  "mcpServers": {
    "krs-poland-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "krs-poland-mcp-server"
      ]
    }
  }
}
```

This configuration tells the client how to start the KRS tool server.

## Server Functions


The server provides the following tools (checklist):

- [x] **Get Current KRS Record** (`get-krs-current-extract`): Retrieves the current status and information for a given entity from the KRS.
- [x] **Get Full KRS Record** (`get-krs-full-extract`): Retrieves the complete historical data for a given entity from the KRS.

## Development

To run the server in a development environment:

1.  Clone the repository.
2.  Install dependencies: `npm install`
3.  Build the project: `npm run build`
4.  Run the server: `npm start`

## Author

Piotr Kolawa ([@pkolawa](https://github.com/pkolawa)) / ([Linkedin](https://linkedin.com/in/pkolawa))

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

TDQS

C2.6/5.0

Scored across 2 tools

Disambiguation2/5

Both tools retrieve KRS records, and their names ('Current' vs 'Full') are unclear in differentiation. Descriptions do not explain what additional data 'Full' provides, leading to potential confusion for an agent.

Naming Consistency3/5

Both tools use 'Get_' prefix with PascalCase, which is consistent. However, the second word ('Current' vs 'Full') is somewhat arbitrary and not part of a clear pattern (e.g., Get_Current vs Get_Full).

Tool Count3/5

With only 2 tools, the server is very narrowly scoped. This can be appropriate if the sole purpose is retrieving two variants of a record, but it feels thin for a typical MCP server.

Completeness2/5

Only retrieval operations are provided, lacking search, creation, or updates. If the domain requires any interaction beyond fetching records, the tool surface is severely incomplete.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive