Labsco
MCP SERVER

LDIMS MCP

by windhood-jza

Searches an LDIMS document archive in natural language and pulls the full text of what it finds.

Vector Stores & RAG Retrieval
Summary
Search then fetch, which is the right shape for an archive.

Pulling whole documents into a model is expensive and mostly wasted, so splitting the job — a filtered search that returns candidates, then a separate call for the one you want — keeps the context spend proportional to the answer. Semantic mode is what makes the search worth the round trip, since archive queries are usually about a topic rather than a filename. There is a connection test script, which is more than most integrations of this shape ship with.

What it is

A bridge to LDIMS, a document management system, with two tools: search and fetch. The search accepts a plain-language query and narrows with filters for date range, document type and submitter, in either exact or semantic mode; the second tool returns the extracted content of a document you have located. It authenticates with a long-lived token you generate yourself.

What you get
  • `searchDocuments` takes a `query` plus optional `maxResults` and `filters`, and supports semantic as well as exact search
  • Filters for `dateFrom`, `dateTo`, `documentType` and `submitter`, so a search can be pinned to a period or a person
  • `get_document_file_content` returns the extracted content of a specific document
  • An MCP resource alongside the tools for clients that read resources directly
Requirements

A reachable LDIMS backend and an auth token. Generate one with `node scripts/get-long-term-token.js` for a long-lived token, or `get-fresh-token.js` for a short one, then `npm run build`. Two modes with separate credential paths: in MCP mode the token comes from the client config alongside `LDIMS_API_BASE_URL` and `LDIMS_API_VERSION`; in HTTP mode it comes from `LDIMS_AUTH_TOKEN` in `.env` and you run `npm run http`. `node scripts/test-api-connection.js` checks health, search and content retrieval before you wire anything up.