MCP#
SousLeSens exposes a Model Context Protocol server, so an LLM agent can read sources, taxonomies, mappings and labels without going through the web interface.
The server is a separate process with its own URL. Ask your administrator for the one of your
instance, or try https://<your-instance>/mcp.
It is read-only. Every call is forwarded to /api/v1 with your own bearer token, so the agent
sees exactly the sources your profile allows, under the same quotas, and can never write.
Connecting a client#
MCP is a standard protocol: whichever agent you use, it needs the same three facts.
Fact |
Value |
|---|---|
Transport |
HTTP (streamable) |
URL |
|
Auth |
header |
The token is the one described in the API page: user menu, UserSettings, tab API TOKEN. The same token serves the REST routes and the MCP server.
Most clients are configured with a JSON file holding this block:
{
"mcpServers": {
"souslesens": {
"type": "http",
"url": "https://sls.example.org/mcp",
"headers": { "Authorization": "Bearer xxx" }
}
}
}
Where that file lives depends on the client, and that is the only part that changes:
Client |
Where the block goes |
|---|---|
Claude Desktop |
|
Cursor |
|
Claude Code |
|
Other |
see the client’s own documentation; the three facts above are all it needs |
Register the server globally rather than for one directory. Several clients offer a scope attached to the current project or working directory, and a server registered that way is invisible as soon as the agent is started from anywhere else.
Restart the client after writing the configuration. Clients read their MCP servers once, at startup.
Checking that it works#
curl https://sls.example.org/healthz
Then, in the client, list the available tools: you should see about twenty names starting with
sls_, such as sls_list_sources or sls_search_labels. If the client lists none, it is a
configuration problem, not an access problem: see the table below.
GET /catalog returns the same list with, for each tool, the SousLeSens declaration it comes from.
What the agent can do#
The tool list is not authored for MCP: it is derived from the SousLeSens code itself, from the SPARQL
query registry and from the REST routes. The current inventory, and the rule that produces it, are
documented in bin/MCP/README.md.
In short, an agent can list your sources, search labels full text, walk a hierarchy up and down, read a node’s properties and definition, read ontology models, KGquery models and mapping files, and run any read function of the SPARQL query registry.
Results are bounded. When an answer is too large it is cut, and the agent is told so along with the total, so that it narrows its question instead of asking again for more.