KRS Poland MCP Server

# 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
Scored across 2 tools
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.
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).
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.
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.