SignalTender B2B, GovCon & LegalTech MCP Server
Server Details
B2B, GovCon & LegalTech MCP server for live RFPs, contract parsing, compliance & proposal tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- aarbchen/signaltender-scraper
- GitHub Stars
- 0
TDQS
Scored across 10 tools
Each tool maps to a distinct GovCon/LegalTech API function, with clear boundaries between parsing, auditing, classifying, extracting, generating, and searching. Overlaps such as contract parsing vs. contract risk auditing and regulatory clause scanning vs. contract risk auditing are differentiated by input type and output purpose.
All tool names use a consistent snake_case verb_noun pattern (e.g. parse_b2b_contract, generate_rfp_response, search_historical_awards). The naming is predictable and readable across the entire set.
Ten tools is well-scoped for a B2B/GovCon/LegalTech server covering solicitation discovery, proposal support, contract analysis, and compliance workflows. Each tool appears to earn its place without redundancy.
The tools cover API #01 through #10, spanning contract parsing, risk auditing, FAR/DFARS scanning, pricing extraction, NAICS/PSC/NIGP classification, historical award search, live solicitation retrieval, capability matching, compliance matrix generation, and RFP response drafting. This forms a complete lifecycle surface for the stated GovCon and legal-tech domain.
Available Tools
10 toolsaudit_contract_risksAInspect
API #02: Audit legal contracts (MSAs, NDAs, Subcontracts, SaaS agreements) for toxic clauses, score overall risk (0-100), and generate verbatim clause quotes with ready-to-paste fallback redline language.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_text | Yes | Full or partial contract text to audit for legal and commercial risks. | |
| party_perspective | No | Negotiating perspective for redline generation ('vendor', 'buyer', or 'neutral'). | vendor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden. It usefully discloses the return shape (risk score 0-100, verbatim quotes, paste-ready redlines) and that perspective drives redline generation, but says nothing about whether the operation is read-only, input length limits on raw_text, or any auth/rate considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence that puts the action and resource first and the three outcomes after. The 'API #02:' prefix is catalog noise that earns no place in the definition, which is the only real defect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter, no-output-schema tool the description covers what it produces (score, quotes, redlines) and the domain well. It could still state read-only semantics and input limits, but nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, making 3 the baseline. The description adds marginal context by tying the redline/fallback output to the negotiating perspective, but adds no syntax, format, or size guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (audit), a concrete resource with enumerated types (MSAs, NDAs, Subcontracts, SaaS agreements), and the three concrete outputs: toxic-clause detection, a 0-100 risk score, and verbatim quotes with fallback redlines. This is distinguishable from siblings like scan_far_dfars_clauses or parse_b2b_contract, which operate on different clause domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer 'use this to audit a contract for risk,' but there is no explicit when-to-use vs. when-not guidance and no mention of the sibling tools it overlaps with (parse_b2b_contract, scan_far_dfars_clauses). No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_naics_psc_nigpBInspect
API #08: Map any product description, SOW, or company profile to exact 6-digit NAICS, 4-digit SIC (for KYB/FinTech), Federal PSC, and State NIGP/UNSPSC commodity codes with SBA size standards.
| Name | Required | Description | Default |
|---|---|---|---|
| context_type | No | company_or_vendor_profile | |
| description_text | Yes | Company profile, product description, or Statement of Work text. | |
| max_secondary_codes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and falls short of it. It claims output systems and mentions SBA size standards, but says nothing about whether codes are deterministic or model-inferred, confidence/ambiguity handling, error behavior, or any auth/rate-limit constraints for something called "API #08."
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the action and lists the outputs in order of specificity; every clause carries information. The "API #08:" prefix is minor catalog numbering noise but costs little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description tells the agent what code systems come back and that SBA size standards are included, which is useful. It still leaves the return shape, ranking of primary vs secondary codes, and the max_secondary_codes parameter unexplained for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description has to compensate. It partially does by enumerating the text inputs that correspond to context_type's enum values and description_text, but max_secondary_codes (and the whole notion of secondary codes in the output) is never mentioned in either the schema or the description, leaving one parameter and a key output behavior opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Map") plus the exact resources produced: 6-digit NAICS, 4-digit SIC, Federal PSC, and State NIGP/UNSPSC codes, and names the accepted inputs (product description, SOW, company profile). No sibling tool does code classification, so it is immediately distinguishable from the contract/RFP-oriented siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the accepted input types ("any product description, SOW, or company profile") and the parenthetical "for KYB/FinTech" hints at a use case for SIC. However, there is no explicit when-to-use guidance, no prerequisites, and no mention of alternative tools for adjacent tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_pricing_scheduleAInspect
API #10: Extract multi-tier CLIN/SLIN pricing tables, GSA/T&M labor rate cards, and BOM spreadsheets from unstructured vendor quotes or Section B schedules into normalized JSON with line-by-line math verification.
| Name | Required | Description | Default |
|---|---|---|---|
| document_text | Yes | Raw text or table content from a vendor quote, invoice, or Federal Section B CLIN schedule. | |
| expected_document_type | No | auto_detect | |
| audit_math_and_anomalies | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the return shape ('normalized JSON') and a notable behavior ('line-by-line math verification'), but omits read-only vs. mutation semantics, size/length limits on document_text, and failure modes for unparseable documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that is information-dense and wastes little. The 'API #10:' prefix is a non-functional label that consumes tokens without helping selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param extraction tool with no annotations and no output schema, the description covers the input types, the normalization/verification behavior, and the return format. Missing details on the two undocumented parameters and handling of malformed input keep it short of full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only document_text is documented), so the description must compensate. It partially does by implicitly mapping to the expected_document_type enum values (CLIN/SLIN schedule, GSA/T&M rate card, BOM), but never explains expected_document_type or audit_math_and_anomalies directly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extract) and resource (multi-tier CLIN/SLIN pricing tables, labor rate cards, BOM spreadsheets) and names the concrete outputs, so an agent can distinguish it from siblings like parse_b2b_contract or generate_compliance_matrix without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The input domain is clear ('from unstructured vendor quotes or Section B schedules'), which implies when to use it. However it offers no explicit exclusions or named alternatives, and the pricing-extraction overlap with sibling parse_b2b_contract is left unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_compliance_matrixAInspect
API #05: Parse raw RFP Section C/L/M or SOW text into a Shipley-aligned shall/must Compliance Matrix, Section L-to-M cross-reference map, and hierarchical Proposal Outline with page allocations.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_text | Yes | Raw RFP Section C (SOW), Section L (Instructions), and/or Section M (Evaluation Criteria) text. | |
| proposal_methodology | No | shipley |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It helpfully discloses the transformation outputs (matrix, cross-reference map, outline with page allocations), but says nothing about permissions, idempotency, size limits, or formatting of the result, leaving meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that puts the input and the three outputs up front with no wasted prose. The 'API #05:' prefix is noise that adds nothing for an agent, slightly detracting from an otherwise tight statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully compensates by enumerating the three returned artifacts. For a simple two-parameter (one required) tool this is close to complete, though it omits behavioral details such as how the raw text is handled and any input constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: raw_text is documented in the schema while proposal_methodology has an enum of three values with only a default and no description. The description references 'Shipley-aligned' output, hinting at the default methodology, but never explains the federal_standard or commercial_agile alternatives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Parse) and resource (raw RFP Section C/L/M or SOW text) and enumerates the three concrete outputs (Compliance Matrix, Section L-to-M cross-reference map, Proposal Outline). An agent can tell what it produces without opening the schema, though it never names or contrasts a sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool is for when you have raw RFP/SOW text and need a compliance matrix. There is no explicit when-to-use, when-not-to-use, or routing guidance against siblings like generate_rfp_response or parse_b2b_contract that also handle RFP-style input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_rfp_responseCInspect
API #09: Draft an evaluator-ready Shipley Technical Proposal Section (with Win Themes, Proof Points, and Risk Mitigations) AND generate strategic Vendor Clarification Q&A questions.
| Name | Required | Description | Default |
|---|---|---|---|
| rfp_section_text | Yes | RFP Section C/L/M requirements to respond to. | |
| target_section_type | No | technical_approach | |
| tone_and_methodology | No | Shipley Proposal Methodology (Active Voice, Evaluator-First, Feature-Benefit-Proof) | |
| company_context_and_capabilities | Yes | Bidder's technical capabilities, past performance metrics, and differentiators. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the composite nature of the operation (proposal section plus Q&A) and the artifacts produced (Win Themes, Proof Points, Risk Mitigations), which is useful, but says nothing about permissions, cost/rate limits, output format, or that it is a two-headed operation the caller cannot split.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and compact, but the single run-on sentence crams two distinct operations together with ALL-CAPS asides and an unnecessary 'API #09' tag. Structure is passable rather than clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should have said more, yet it partially covers returns by listing the artifacts produced. It still leaves parameter behavior and usage conditions undocumented, so it is not sufficient for a 4-parameter generative tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description needed to compensate and does not. It never explains target_section_type, the tone_and_methodology default, or how rfp_section_text relates to the generated content; the Shipley reference only tangentially echoes the methodology default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb+resource: drafting a Shipley Technical Proposal Section and generating Vendor Clarification Q&A. It implicitly separates this generative tool from its extract/classify/scan siblings, but never names an alternative explicitly. The 'API #09' prefix is noise that adds nothing to purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite guidance is given. The description says what it produces but not the conditions under which an agent should choose it over generate_compliance_matrix or the other sibling tools. Usage must be inferred entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_solicitationsBInspect
API #04: Stream live, AI-vetted open Federal (SAM.gov) and State/Local SLED (VA, TX, CA, FL, MD, DemandStar) IT, Cloud, and Cybersecurity RFPs from SignalTender's 7-portal procurement database.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of open solicitations to return (1-50). | |
| state | No | Optional jurisdiction filter ('federal', 'virginia', 'texas', 'california', 'florida', 'maryland', 'municipal'). | |
| keyword | No | Optional search keyword in solicitation title or agency. | |
| category | No | Optional IT vertical filter ('cybersecurity', 'cloud-infrastructure', 'software-development', 'network-telecom'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful behavioral context: the data is live, AI-vetted, open, and sourced from a 7-portal database across specific jurisdictions. However, it omits read-only status, authentication needs, rate limits, and return format details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single sentence with the core purpose front-loaded. The 'API #04:' prefix adds little value, and the parenthetical enumerations are dense, but the description remains appropriately sized and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple 4-parameter retrieval tool with no annotations and no output schema, the description covers the data domain and sources adequately. It does not explain return values, authentication, or usage context, leaving some gaps for an agent invoking it without structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four optional parameters (limit, state, keyword, category). The description adds no parameter-level meaning beyond the schema, which is the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Stream') and resource ('live, AI-vetted open Federal ... and State/Local ... IT, Cloud, and Cybersecurity RFPs'), making the tool's function clear. It implies a distinction from historical award search, but does not explicitly name a sibling tool to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not-to-use, or alternative-tool guidance is provided. The live/open framing implies retrieval of current opportunities, but the agent is left to infer when to call this versus search_historical_awards or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_capability_statementAInspect
API #07: Compare an RFP against a company's Capability Statement & Past Performance to calculate a 0-100 Pwin (Probability of Win) Score, Bid/No-Bid decision, gap analysis, and tailored executive pitch.
| Name | Required | Description | Default |
|---|---|---|---|
| rfp_text | Yes | Solicitation scope, mandatory qualifications, set-aside, and evaluation criteria. | |
| target_pursuit_role | No | either_prime_or_sub | |
| company_capability_statement | Yes | Vendor capability statement, socioeconomic certs, clearances, and past performance. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the deliverables (a 0-100 Pwin score, Bid/No-Bid decision, gap analysis, executive pitch), which is useful given there is no output schema, but says nothing about processing cost, latency, determinism, or any prerequisites for a likely heavyweight analysis call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs the operation and all four deliverables with no filler. The only waste is the 'API #07:' catalog prefix, which carries no decision-relevant information for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what the tool returns, and the two required inputs are covered by the schema. It is largely complete, with only minor gaps around how the score should be interpreted and any expected runtime.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with the two required string inputs documented in the schema and the enum parameter (target_pursuit_role) undocumented anywhere. The description adds no meaning beyond the schema — no guidance on what to include in rfp_text or how the role selection changes scoring — so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Compare) with two named resources (RFP, Capability Statement/Past Performance) and enumerates the outputs (Pwin score, Bid/No-Bid, gap analysis, pitch). It is clearly distinct from siblings like generate_rfp_response or generate_compliance_matrix, though it does not name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the compare-an-RFP-to-a-capability-statement framing, but there is no explicit when-to-use, when-not, or routing against alternatives such as generate_rfp_response. An agent can infer the intent but gets no boundary conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_b2b_contractAInspect
API #01: Extract structured JSON (party names, effective/termination dates, total contract value, payment terms, deliverables, and governing law) from unstructured B2B contracts, SOWs, or RFPs.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_text | Yes | Raw unstructured text from a contract, Statement of Work (SOW), or RFP (min 50 chars). | |
| document_type_hint | No | Optional document type hint (e.g., 'RFP', 'MSA', 'SOW'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full behavioral burden; it partially discharges this by listing the JSON fields returned. It says nothing about determinism, latency, permissions, failure modes on low-quality input, or how the 'API #01' label affects behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the verb and then the payload; the parenthetical field list is long but informative. The 'API #01:' prefix is internal noise that occupies the highest-attention position.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter extractor with no output schema, listing the returned fields is the key compensating information and it is present; parameters are fully covered by the schema. What is missing is routing guidance relative to the many sibling extraction/analysis tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both raw_text and document_type_hint are already documented in the schema. The description adds no format, size, or hint-value guidance beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Extract) and resource (B2B contracts, SOWs, RFPs) and enumerates the exact fields returned, so the agent knows this is a broad contract-field extraction rather than a narrow one like extract_pricing_schedule. It never names a sibling explicitly, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the input sources (unstructured contracts/SOWs/RFPs), but it gives no when-to-use vs. when-not guidance and never points the agent toward audit_contract_risks, extract_pricing_schedule, or the other sibling extractors for narrower needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_far_dfars_clausesCInspect
API #06: Detect FAR (52.2xx) and DFARS (252.2xx) regulatory clauses in a solicitation, flag mandatory subcontractor flow-downs, and score CMMC 2.0 / NIST 800-171 / FedRAMP compliance burden.
| Name | Required | Description | Default |
|---|---|---|---|
| raw_text | Yes | Solicitation Section I or subcontract flow-down text containing FAR/DFARS citations. | |
| contractor_role | No | prime_contractor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool performs detection, flagging, and scoring, which is useful behavioral context, but it does not state whether it is read-only, what permissions are needed, or how the scores are formatted or interpreted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficiently packed sentence, but it opens with 'API #06:' which is internal noise that does not help an agent select or invoke the tool. The remaining content is front-loaded with action verbs, but the prefix reduces overall conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain return values and scoring details, but it does not. It also omits any explanation of the contractor_role parameter, leaving important gaps for an agent that must interpret the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: raw_text is described, but contractor_role has an enum and default with no description in either schema or description. The description does not mention contractor_role at all, so the missing parameter semantics are not compensated for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific actions (detect FAR/DFARS clauses, flag flow-downs, score compliance burden) and the resource (solicitation). It is clear what the tool does, but it does not explicitly distinguish itself from sibling tools like audit_contract_risks or generate_compliance_matrix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage only by mentioning 'in a solicitation' and does not state when to use this tool versus alternatives. There are no exclusions, prerequisites, or routing guidance to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_historical_awardsBInspect
API #03: Query historical federal contract awards, incumbent prime contractors, award ceilings, and CLIN pricing benchmarks by keyword, NAICS code, or agency.
| Name | Required | Description | Default |
|---|---|---|---|
| agency | No | Optional agency name filter. | |
| keywords | Yes | Search keywords (e.g., 'zero trust', 'cloud migration', 'SIEM'). | |
| naics_code | No | Optional 6-digit NAICS code filter (e.g., '541512'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Query' implies a read, but the description does not state read-only safety, permissions, rate limits, or whether results are paginated; only the listed data categories hint at return content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single front-loaded sentence with no fluff. The 'API #03:' prefix adds no semantic value for an agent and is mildly distracting, but the sentence itself earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with fully documented params, the description covers the domain and result categories. However, with no annotations or output schema, it omits behavioral context (read-only, pagination) and any when-to-use guidance, leaving clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters with examples. The description merely restates the same filters and adds no syntax or format detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Query') and resource ('historical federal contract awards'), and enumerates the data types returned. The 'historical' qualifier distinguishes it from live-solicitation siblings, and the focus on awards distinguishes it from risk/compliance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, no prerequisites. It only says how to filter (keyword/NAICS/agency), which is parameter usage, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
audit_contract_risks - First observed
classify_naics_psc_nigp - First observed
extract_pricing_schedule - First observed
generate_compliance_matrix - First observed
generate_rfp_response - First observed
get_live_solicitations - First observed
match_capability_statement - First observed
parse_b2b_contract - First observed
scan_far_dfars_clauses - First observed
search_historical_awards
Related MCP Connectors
Federal+SLED govcon MCP: SAM, USASpending, recompete, hearings, policy intel, search. Private AI.
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
TED MCP Server: Real-time EU public tenders access. https://www.lexsocket.ai/
GovCon Intel MCP — Compound tools that chain SAM.gov, USAspending,
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that automates government and enterprise tender workflows, including RFP parsing, proposal generation, and compliance tracking. It provides 18 specialized tools for technical and financial proposal assembly, partner coordination, and hybrid search across past proposal archives.1-
- FlicenseNot gradedqualityBmaintenanceMCP server for Canadian procurement intelligence, enabling unified search of federal and Alberta tender opportunities, deadline tracking, profile-based matching, daily briefs, and AI-assisted bid analysis.-
- FlicenseAqualityDmaintenanceMCP server for searching government tenders from CanadaBuys and SAM.gov with free stats and paid search, latest, and AI matching tools using x402 micropayments.41-
- AlicenseNot gradedqualityDmaintenanceAn MCP-only server for evidence-based EPC tender screening that enables AI agents to run a full screening workflow, extract requirements, match company profiles, generate compliance matrices, and produce bid/no-bid advisory memos.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.