Defence procurement data inside your AI assistant
The Defense Explorer MCP server gives Claude, ChatGPT, Cursor and other MCP clients the same tender data, match scores, cited briefs and pursuit records your team sees in the workspace, under the same permissions, with writes limited to what a person decided.
In short
One remote endpoint, OAuth or a token, and 24 tools that read defence tender data and your workspace. It answers questions with citations and coverage notes; it does not bid, contact buyers or write proposals.
- 01Search and rank notices from TED, NATO/NSPA, EU Funding & Tenders, TenderNed, UK Find a Tender and Contracts Finder, Spain’s PLACSP and France’s BOAMP.
- 02Read cited briefs, extracted requirements, document coverage, pursuits, decisions, evidence and amendments: the same implementation the REST API uses.
- 03Three scopes, chosen per connection: mcp:read to look, mcp:write for watchlists, decisions and acknowledgements, mcp:ai for grounded questions.
- 04Included on the Team plan with the REST API. See pricing.
Connect in five minutes
[ 03 STEPS ]Pick OAuth where the client supports it. Use a token where it only accepts headers.
- STEP 01
Point your client at the server
Every client needs the same URL. Clients with MCP OAuth support discover the authorization server from the published metadata, so the URL is all you enter.
https://api.defenseexplorer.com/mcp # OAuth discovery https://api.defenseexplorer.com/.well-known/oauth-authorization-server https://api.defenseexplorer.com/.well-known/oauth-protected-resource/mcp - STEP 02
Authorize, or create a token
With OAuth, you sign in to Defense Explorer and approve the connection. The consent page lets you remove scopes before approving; access tokens are short-lived and refresh tokens rotate.
Without OAuth, create a dx_mcp_ token in Integrations. It is shown once, stored only as a hash, expires, and is scoped to your active company membership.
{ "mcpServers": { "defense-explorer": { "url": "https://api.defenseexplorer.com/mcp", "headers": { "Authorization": "Bearer dx_mcp_<token>" } } } }
Tools
[ 24 TOOLS / 03 SCOPES ]Every read calls the same code as /api/v1, so an assistant sees what an integration sees.
| Tool | Scope | What it returns |
|---|---|---|
| search_opportunities | mcp:read | Normalized, deduplicated notices filtered by query, source, type, country, CPV, value and dates, with official source links and English titles where translated |
| match_opportunities | mcp:read | Notices ranked against your company profile, each with its 0–100 score, reasons, unknowns and blockers |
| get_opportunity | mcp:read | One full normalized record: eligibility requirements, document links, source identity and whether it is saved |
| ask_opportunity | mcp:ai | A grounded answer about one notice, with sources and a document coverage note; facts are kept apart from inferences |
| get_brief | mcp:read | The cited brief: each claim with the document span it cites and the verbatim quote, plus a stale flag |
| list_requirements | mcp:read | Extracted requirements with your workspace’s corrections applied |
| get_document_coverage | mcp:read | Documents registered for a notice, their parse status and an explicit limitations list |
| list_pursuits / get_pursuit | mcp:read | The notices your team is working on, with stage, owner, next action and deadline |
| list_decisions | mcp:read | Recorded bid decisions with author, rationale and the profile and document versions they were taken against |
| list_evidence | mcp:read | The reviewed company evidence library: certificates, references and their validity dates |
| get_requirement_assessments | mcp:read | The qualification matrix for a pursuit, naming the rule that blocks any unmet requirement |
| list_changes / get_change | mcp:read | Material amendments on followed notices, with original and updated clause text side by side |
| list_market_signals / get_market_signal | mcp:read | Early signals: prior information notices, market consultations, stated contract end dates, programme plans |
| summarize_market_signals | mcp:read | Counts of signals by kind, confidence, country, source and horizon in one call |
| list_sources | mcp:read | Every indexed source: coverage, freshness, counts, open incidents and known limitations |
| list_saved_opportunities / list_saved_searches | mcp:read | Personal or company watchlists, and saved searches with their filters and match counts |
| save_opportunity / remove_saved_opportunity | mcp:write | Adds or removes a notice on the personal or company watchlist |
| record_decision | mcp:write | Records a pursue, hold or decline decision a person has made, with their rationale, to the audit trail |
| acknowledge_change | mcp:write | Records that you have seen a detected amendment; it does not clear the requirement re-check |
A tool called without its scope returns an error naming the missing scope and writes nothing. List tools take page and limit; search is capped at 50 results per call.
Things to ask
[ 06 PROMPTS ]Questions bid and capture teams ask, and the tool that answers each.
- 01match_opportunities
“Which open NSPA tenders close in the next 30 days that fit our radio product line?”
Ranks open notices against the product line in your company profile and returns each score with its reasons, unknowns and blockers, so the assistant can say why a notice is on the list.
- 02get_brief · ask_opportunity
“Summarise the brief for this notice and tell me what the buyer wants as proof of past delivery.”
Every claim in the brief carries a page reference and a verbatim quote. Claims marked unknown or conflict come back labelled, not as facts.
- 03get_requirement_assessments
“Can we meet every mandatory requirement on the Dutch secure comms pursuit?”
Returns the qualification matrix. Only approved evidence inside its validity dates satisfies a requirement, and a blocked item names the rule that blocked it.
- 04list_changes · get_change
“What changed on the tenders we are following this week, and which requirements need a second look?”
Material amendments only, with the original and updated clause side by side. Cosmetic edits are excluded by default.
- 05summarize_market_signals
“What demand is building for counter-UAS in Germany and France over the next year?”
Counts prior information notices, market consultations and stated contract end dates by horizon. These are inferred demand, not open calls, and the assistant should say so.
- 06list_sources
“Do you cover Spanish Ministry of Defence tenders, and how fresh is that data?”
States what each source covers and leaves out, when it last succeeded and any open incident. This is the answer to “do you cover this?”, before anyone concludes a notice does not exist.
Safety and permissions
[ WHAT IT WILL NOT DO ]An intelligence and workflow surface, not an autonomous procurement agent.
The server reads public procurement records and your workspace’s own data under the same company membership and permissions as the web app. Another workspace’s id returns “not found”, never “forbidden”, so ids cannot be probed. Access stops as soon as a membership ends or a token is revoked or expires.
Writes are deliberately narrow and all need mcp:write: saving or removing a watchlist item, recording a bid decision a person has already made, and acknowledging that an amendment was seen. An assistant cannot move a pursuit through stages on its own, approve evidence, edit a requirement or create an export.
It cannot submit bids, contact buyers, draft proposal text, access classified material, change billing or make arbitrary network requests. Raw source snapshots are never returned directly, because source pages and documents are untrusted input; ask_opportunity is the controlled path for reading indexed tender text.
Guard rails the tools make visible
A claim with status unknown or conflict is not a supported fact. Document coverage limitations matter: “no such clause” and “no such clause in the parts we could read” are different answers. Only an approved evidence item inside its validity dates can satisfy a requirement. Market signals are inferred demand, not open calls, and an estimated window is labelled as an estimate.
Coverage is defence-relevant, not complete national procurement, so list_sources should be checked before an assistant says a notice does not exist.
Other tender tools with MCP
[ HONEST CONTEXT ]MCP is becoming standard in this category. What differs is the data and the tools behind it.
Defense Explorer is not the only tender tool with an MCP connection. Tenderlake offers an MCP-based analyst for mainstream assistants, and Stotles added an MCP connector on its paid plans in August 2026. If you are comparing, see Defense Explorer vs Tenderlake and Defense Explorer vs Stotles.
What is specific here: notices classified for defence relevance and clearance evidence with the reason shown; NATO/NSPA and national European sources alongside TED; briefs that cite the page and quote the text; a qualification matrix tied to reviewed company evidence; amendment impact; and write tools limited to recording what a person decided.
How it runs
[ TRANSPORT ]The server uses stateless HTTP and returns JSON, so a session is not tied to a single server instance. Grounded answers from ask_opportunity use the same workspace rate limits and AI configuration as the assistant in the web app.
For scheduled jobs, CRM syncs and warehouse loads, use the REST API instead: same data, bearer keys, and an OpenAPI 3.1 reference. Use MCP when a person is asking questions in a conversation.
Questions
[ 06 ANSWERS ]01What is an MCP server for procurement data?
The Model Context Protocol is an open standard that lets AI assistants call tools on remote servers. A procurement MCP server exposes tender search, records and analysis as tools, so an assistant can look up real notices and cite them instead of guessing or scraping portals.
02Which AI clients work with it?
Any client that supports remote MCP servers over HTTP. We document Claude, ChatGPT and Cursor. Clients with MCP OAuth need only the URL; clients that accept custom headers can use a dx_mcp_ token.
03Can the assistant change anything in our workspace?
Only with mcp:write, and only four things: save or remove a watchlist item, record a decision a person has made with their rationale, and acknowledge an amendment. It cannot move pursuits, approve evidence, edit requirements or submit anything.
04Which plan includes MCP?
The Team plan, which also includes the REST API. Scout and Analyst cover the web workspace only. See pricing or talk to us about a pilot.
05Does it return classified or restricted tender documents?
No. It reads public procurement records and documents we could index, plus your own workspace data. Gated portals are labelled, never bypassed, and get_document_coverage says which documents could not be read.
06How is this different from the REST API?
Same data, same permissions, different caller. REST suits scheduled jobs and integrations with no person in the loop; MCP suits an assistant answering a person’s questions. Many teams use both. See the API page.
Give your assistant real defence tender data.
Start a Team trial, connect the MCP server, and ask your first cited question today.