MatchAwards

Search US government contracts, grants and jobs from matchawards.com. Read-only, no key.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
86%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,576token 数(工具定义)
~3.0 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.01%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "matchawards-mcp": {
      "command": "uvx",
      "args": [
        "matchawards-mcp"
      ]
    }
  }
}

可运行的软件包

pypimatchawards-mcp0.3.0stdio

远程端点

https://matchawards.com/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_contracts(naics, state, keyword, set_aside, type, ...)

Search US federal and state government contract opportunities (bids, RFPs, solicitations). Use this when the user wants contracts to bid on. Returns {as_of, results, has_more, next_cursor}; each result has id, type, title, agency, office, naics {code, title}, set_aside, state, city, posted_at, response_deadline, url (matchawards.com), sam_url and solicitation_number. Filters: naics, state, keyword, set_aside (federal only), type (federal or state), posted_within_days, open (default true), limit, cursor. If has_more is true, call again with cursor=next_cursor and the same filters. Example: naics="238160", state="VA", keyword="roof". For grants use search_grants, for jobs search_jobs.

输入模式

{
  "type": "object",
  "properties": {
    "naics": {
      "anyOf": [
        {
          "pattern": "^\\s*\\d{6}(\\s*,\\s*\\d{6}){0,9}\\s*$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Up to 10 six-digit NAICS codes, comma-separated, e.g. '236220' or '541511,541512'. Unknown codes are ignored.",
      "title": "Naics"
    },
    "state": {
      "anyOf": [
        {
          "pattern": "^[A-Za-z]{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two-letter US state code, e.g. 'VA'. Many federal notices have no state, so this filter skips them.",
      "title": "State"
    },
    "keyword": {
      "anyOf": [
        {
          "maxLength": 100,
          "minLength": 2,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "2 to 100 characters matched against the title only.",
      "title": "Keyword"
    },
    "set_aside": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Set-aside code, e.g. 'SBA' or 'SDVOSBC'. Federal contracts only.",
      "title": "Set Aside"
    },
    "type": {
      "anyOf": [
        {
          "enum": [
            "federal",
            "state"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Narrow to federal or to state contracts. Leave empty for both.",
      "title": "Type"
    },
    "posted_within_days": {
      "anyOf": [
        {
          "maximum": 180,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only items posted in the last N days, 1 to 180 (default 180).",
      "title": "Posted Within Days"
    },
    "open": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "true (the default): only items with a response deadline of today or later, US Eastern; an item with no deadline counts as closed. false: include closed ones.",
      "title": "Open"
    },
    "limit": {
      "default": 20,
      "description": "Number of results to return, 1 to 50.",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "next_cursor from the previous response. Pass it with the same filters to get the next page.",
      "title": "Cursor"
    }
  },
  "title": "search_contractsArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_contractsDictOutput"
}
🟢search_grants(naics, keyword, posted_within_days, open, limit, ...)

Search US federal grant and funding opportunities. Use this when the user wants grants or funding, not contracts. Returns {as_of, results, has_more, next_cursor}; each result has id, title, agency, naics, posted_at, response_deadline and a matchawards.com url. Filters: naics, keyword, posted_within_days, open (default true: open grants of any age), limit, cursor. Grant notices carry no state, so there is no state filter. If has_more is true, call again with cursor=next_cursor and the same filters. Example: keyword="broadband" or naics="541715".

输入模式

{
  "type": "object",
  "properties": {
    "naics": {
      "anyOf": [
        {
          "pattern": "^\\s*\\d{6}(\\s*,\\s*\\d{6}){0,9}\\s*$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Up to 10 six-digit NAICS codes, comma-separated, e.g. '236220' or '541511,541512'. Unknown codes are ignored.",
      "title": "Naics"
    },
    "keyword": {
      "anyOf": [
        {
          "maxLength": 100,
          "minLength": 2,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "2 to 100 characters matched against the title only.",
      "title": "Keyword"
    },
    "posted_within_days": {
      "anyOf": [
        {
          "maximum": 180,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only items posted in the last N days, 1 to 180 (default 180).",
      "title": "Posted Within Days"
    },
    "open": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "true (the default): only items with a response deadline of today or later, US Eastern; an item with no deadline counts as closed. false: include closed ones.",
      "title": "Open"
    },
    "limit": {
      "default": 20,
      "description": "Number of results to return, 1 to 50.",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "next_cursor from the previous response. Pass it with the same filters to get the next page.",
      "title": "Cursor"
    }
  },
  "title": "search_grantsArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_grantsDictOutput"
}
🟢search_jobs(naics, state, keyword, posted_within_days, limit, ...)

Search job postings from the last 30 days listed on MatchAwards. Use this when the user is looking for a job or for hiring signals, not for contracts or grants. Returns {as_of, results, has_more, next_cursor}; each result has id, title, agency (the employer), state, city, posted_at and a matchawards.com url; other fields are null. Filters: naics, state, keyword, posted_within_days (up to 30), limit, cursor. If has_more is true, call again with cursor=next_cursor and the same filters. Example: keyword="electrician", state="TX", posted_within_days=7.

输入模式

{
  "type": "object",
  "properties": {
    "naics": {
      "anyOf": [
        {
          "pattern": "^\\s*\\d{6}(\\s*,\\s*\\d{6}){0,9}\\s*$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Up to 10 six-digit NAICS codes, comma-separated, e.g. '236220' or '541511,541512'. Unknown codes are ignored.",
      "title": "Naics"
    },
    "state": {
      "anyOf": [
        {
          "pattern": "^[A-Za-z]{2}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two-letter US state code, e.g. 'VA'. Many federal notices have no state, so this filter skips them.",
      "title": "State"
    },
    "keyword": {
      "anyOf": [
        {
          "maxLength": 100,
          "minLength": 2,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "2 to 100 characters matched against the title only.",
      "title": "Keyword"
    },
    "posted_within_days": {
      "default": 30,
      "description": "Only jobs posted in the last N days, 1 to 30.",
      "maximum": 30,
      "minimum": 1,
      "title": "Posted Within Days",
      "type": "integer"
    },
    "limit": {
      "default": 20,
      "description": "Number of results to return, 1 to 50.",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "next_cursor from the previous response. Pass it with the same filters to get the next page.",
      "title": "Cursor"
    }
  },
  "title": "search_jobsArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_jobsDictOutput"
}
🟢search_by_naics(naics, type, cursor)

List the newest opportunities for one or more NAICS industry codes. Use this when the user gives NAICS codes and nothing else. Returns up to 20 results, {as_of, results, has_more, next_cursor}, each with a matchawards.com url. Filters: naics (required), type (contract, federal, state, grant or job), cursor (next_cursor of the previous call, same naics and type). For keyword, state or other filters use search_contracts, search_grants or search_jobs. Example: naics="541511,541512", type="federal".

输入模式

{
  "type": "object",
  "properties": {
    "naics": {
      "description": "Up to 10 six-digit NAICS codes, comma-separated, e.g. '236220' or '541511,541512'. Unknown codes are ignored.",
      "pattern": "^\\s*\\d{6}(\\s*,\\s*\\d{6}){0,9}\\s*$",
      "title": "Naics",
      "type": "string"
    },
    "type": {
      "default": "contract",
      "description": "contract = federal and state contracts; federal or state = one level only; grant; job.",
      "enum": [
        "contract",
        "federal",
        "state",
        "grant",
        "job"
      ],
      "title": "Type",
      "type": "string"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "next_cursor from the previous response. Pass it with the same filters to get the next page.",
      "title": "Cursor"
    }
  },
  "required": [
    "naics"
  ],
  "title": "search_by_naicsArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "search_by_naicsDictOutput"
}
🟢get_opportunity(id)

Get the full record of one opportunity by its id from a search result. Use this when the user wants details on one result. Returns the search row plus description (up to 2000 characters) and contacts [{name, title}], with the matchawards.com url. Example: id="abc123".

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "description": "The id field of a search result.",
      "pattern": "^[A-Za-z0-9_-]{1,128}$",
      "title": "Id",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "title": "get_opportunityArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_opportunityDictOutput"
}
🟢find_contacts(id)

Get only the published points of contact for one opportunity by its id. Use this when the user asks who to contact about a result. Returns {id, title, url, contacts}, where contacts is [{name, title}] as the public matchawards.com page shows them; an empty list means none are published. Example: id="abc123".

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "description": "The id field of a search result.",
      "pattern": "^[A-Za-z0-9_-]{1,128}$",
      "title": "Id",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "title": "find_contactsArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "find_contactsDictOutput"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具