EPC Tender Screening MCP
An 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.
README
EPC Tender Screening MCP
An MCP-only server for evidence-based EPC tender screening.
This project lets MCP-compatible AI agents:
- run a full
screen_tenderworkflow, - extract tender requirements from uploaded tender text,
- match requirements against a company profile,
- generate compliance matrices,
- produce bid/no-bid advisory memos,
- search explicit public tender source URLs,
- search local historical proposal examples for grounding.
The project is designed as a clean public MCP repository. It does not include private company documents, credentials, UI pages, or production tender archives.
Why This Exists
Tender teams spend significant time reading long procurement documents, checking eligibility, finding supporting evidence, and deciding whether to bid. This MCP server gives AI agents a structured tool layer for that workflow while keeping the final decision human-reviewed.
Tools
| Tool | Purpose |
|---|---|
screen_tender |
Run the full screening workflow end to end |
connect_company_profile_text |
Save uploaded/extracted company profile text as local context |
connect_current_tender_text |
Save uploaded/extracted tender text as current tender |
connect_tender_source_urls |
Allowlist public tender source URLs for discovery |
search_public_tenders |
Search explicit source URLs without crawling the whole internet |
get_data_status |
Show connected data sources and fallback state |
extract_tender_requirements |
Extract tender requirements |
match_company_profile |
Match requirements against company capabilities |
generate_compliance_matrix |
Generate requirement-level compliance rows |
generate_bid_no_bid_memo |
Generate advisory fit/risk scores and recommendation |
search_historical_proposals |
Search local historical proposal examples |
Quick Start
npm install
npm run dev
Open:
http://localhost:3000
The root URL returns JSON metadata only. There is no UI.
The Streamable HTTP MCP endpoint is:
http://localhost:3000/api/mcp
The root URL returns JSON metadata only:
curl http://localhost:3000
For local connector testing without auth:
MCP_REQUIRE_AUTH=false npm run dev
On Windows PowerShell:
$env:MCP_REQUIRE_AUTH="false"
npm run dev
Stdio MCP
npm run mcp:stdio
Example Claude Desktop style config:
{
"mcpServers": {
"epc-tender-screening": {
"command": "npm",
"args": ["run", "mcp:stdio"],
"cwd": "/absolute/path/to/epc-tender-screening-mcp-showcase"
}
}
}
Remote Connector Auth
The repo includes a demo OAuth shim for hosted connector experiments.
Set:
MCP_PUBLIC_BASE_URL=https://your-domain.example
MCP_API_KEY=replace-this-token
Connector values:
MCP URL: https://your-domain.example/api/mcp
Authorization URL: https://your-domain.example/oauth/authorize
Token URL: https://your-domain.example/oauth/token
Client ID: epc-tender-demo-client
Client Secret: epc-tender-demo-secret
Scope: mcp tender:read tender:screen
For production, replace the demo OAuth shim with real OAuth and per-user authorization.
Demo token auth is disabled by default in production. For temporary hosted demos only, set:
MCP_ALLOW_DEMO_AUTH=true
MCP_DEMO_ACCESS_TOKEN=replace-this-demo-token
Do not use the default demo token for a public deployment.
ChatGPT Upload Workflow
Upload company profile and tender files to ChatGPT, then ask:
Extract text from the uploaded company profile and tender files.
Call screen_tender with tender_text and company_profile_text.
Summarize the recommendation, red flags, missing documents, and next human actions.
For one-shot analysis without saving:
Extract text from both uploaded files, then call generate_bid_no_bid_memo with tender_text and company_profile_text.
Public Tender Discovery
This project does not crawl the open internet. It searches explicit sources only.
connect_tender_source_urls
search_public_tenders
Use search_public_tenders for discovery leads only. Upload or connect the actual tender document before screening.
Data Files
Safe example files:
data/company-profile.example.json
data/sample-tender.md
data/historical-proposals.example.json
Private local files are ignored by git:
data/company-profile.local.json
data/current-tender.local.md
data/tender-sources.local.json
Example fallback is disabled by default. To demo with bundled example files:
MCP_ALLOW_EXAMPLE_FALLBACK=true npm run dev
On Windows PowerShell:
$env:MCP_ALLOW_EXAMPLE_FALLBACK="true"
npm run dev
Safety
The bid/no-bid memo is advisory only. Every output should be reviewed by tender, finance, legal, HSE, and management owners before submission.
Do not use this project to automatically submit tenders or make binding commercial decisions.
Development
npm run lint
npm run build
npm run eval
The eval suite runs through the real MCP stdio transport and checks tool exposure, safe failure behavior, screening outputs, and evidence traces.
Docs
CI
GitHub Actions runs:
npm ci
npm run lint
npm run build
npm run eval
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。