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.
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.
- `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
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.
