io.github.matematicsolutions/boutique-mcp
Local catalog of MateMatic Boutique: find a legal-data connector or skill, install locally.
What can you do with io.github.matematicsolutions/boutique-mcp?
boutique_search(query, jurisdiction?, entry_type?, limit?)- keyword searchboutique_get(id)- the full card for one entry: names and descriptions inboutique_whats_new(since_date?)- what was added or updated since a dateboutique_coverage()- declares what this catalogue covers, where it comesboutique_request_coverage(description, jurisdiction?)- drafts a
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
boutique-mcpclaude mcp add boutique-mcp -- uvx boutique-mcp==0.2.2
{
"mcpServers": {
"boutique-mcp": {
"command": "uvx",
"args": [
"boutique-mcp==0.2.2"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
boutique-mcp
A local MCP catalog of MateMatic Boutique:
legal-data MCP connectors (SAOS, CBOSA, EUR-Lex, national ELI servers from Austria
to Japan), MateMatic agent skills and curated third-party skills. Current counts
live in the catalogue itself (counts in catalog.json), not in this file.
It answers one question: which building block solves the task at hand, and how
to install it locally. The catalog points, it never proxies. Your agent gets a
copy-paste uvx/npx command or a download link and runs it on your machine.
Status: v0.1.0 | License: Apache-2.0 | Maintainer: MateMatic
Why local
A hosted discovery API sees every query it answers, and in legal work the query
itself is often confidential ("counter-arguments to our client's position in...").
This connector never sees anything: search runs in-process over a local copy of
catalog.json. The only
network request it ever makes is a conditional GET of the public catalog itself
(ETag / If-None-Match).
No network? You get the last catalog cached on disk, or the snapshot shipped inside the package. Either way the response says where the data came from and how old it is: "catalog generated on X, source: network / disk-cache / bundled-snapshot". Nothing is installed or executed for you. The catalog returns commands; you run them.
MCP tools
boutique_search(query, jurisdiction?, entry_type?, limit?)- keyword search (English, Polish or Portuguese) over the catalog. Every hit carries a local install command. When coverage is missing, the response says so ingaps[]instead of padding weak matches.boutique_get(id)- the full card for one entry: names and descriptions in every available language, install, version, license, source and card URLs.boutique_whats_new(since_date?)- what was added or updated since a date (default: the 30 days before the catalog was generated).boutique_coverage()- declares what this catalogue covers, where it comes from and what it does NOT cover. Every gap carries a stable id and a fallback. Call it when a search returns nothing: the absence may be a gap in the catalogue.boutique_request_coverage(description, jurisdiction?)- drafts a coverage-request issue for a gap. Draft only: nothing is sent anywhere; a human reviews and submits it.
Quickstart
uvx boutique-mcp
MCP client configuration (mcp-servers.json):
{
"mcpServers": {
"boutique": {
"command": "uvx",
"args": ["boutique-mcp"]
}
}
}
Windows 11 with Smart App Control
Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe
and the boutique-mcp.exe launcher that pip writes at install time. The python.exe and
py.exe from the python.org installer are signed by the Python Software
Foundation, so running the module through the interpreter works:
python -m pip install boutique-mcp
python -m boutique_mcp
pip.exe is blocked for the same reason, so install with python -m pip, not
pip install. If python is not on PATH, use the Windows launcher: py -3 -m boutique_mcp.
{ "mcpServers": { "boutique-mcp": { "command": "python", "args": ["-m", "boutique_mcp"] } } }
Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.
Configuration
| Env | Default | Meaning |
|---|---|---|
BOUTIQUE_MCP_CATALOG_URL | https://matematicsolutions.com/catalog.json | Catalog source |
BOUTIQUE_MCP_CACHE_DIR | ~/.matematic/cache/boutique-mcp | Disk cache location |
BOUTIQUE_MCP_OFFLINE | unset | 1 = never touch the network |
BOUTIQUE_MCP_AUDIT | unset | 1 = opt-in local audit log (tool name + timing only, never query content) |
Data source
catalog.json is generated in the www-matematic
repository from the same source as the Boutique page tiles (three languages);
a pre-commit and CI check fails whenever the two drift apart. A machine-readable server card lives
at /.well-known/mcp/server-card.json.
Development
python -m venv .venv
.venv/bin/pip install -e ".[dev]" # Windows: .venv\Scripts\pip
.venv/bin/python -m pytest tests/ -q # offline - fixture catalog
.venv/bin/python -m ruff check src tests
Governance
The project constitution forbids a hosted discover/invoke proxy and any logging
of query content. The only adoption metric MateMatic sees is the CDN download
counter of the public catalog.json file. The one tool that produces outbound
text, boutique_request_coverage, stops at a draft; a human submits it.
Constitution and spec: .matematic/ in this repository.
Frequently asked questions
What is io.github.matematicsolutions/boutique-mcp?
Local catalog of MateMatic Boutique: find a legal-data connector or skill, install locally.
How do I install io.github.matematicsolutions/boutique-mcp?
It runs on your machine. In Claude Code: claude mcp add boutique-mcp -- uvx boutique-mcp==0.2.2. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.matematicsolutions/boutique-mcp need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.matematicsolutions/boutique-mcp open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Who maintains io.github.matematicsolutions/boutique-mcp?
It is published by matematicsolutions. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.