MCP App Store
by KeenEthics

Overview

Bidaya helps architecture, engineering, and construction teams find firm knowledge, discover RFPs and tenders, and manage pursuits. Search past proposals, firm documents, resumes, project experience, and company records. Find relevant opportunities and organization recommendations. Review pursuit summaries and details, and update pursuit stages and outcomes when requested. Send tool feedback to the Bidaya team when requested. Access to private records is limited to the connected user's organizations.

Tools

fetch

ChatGPT
Fetch full content for a search result id (e.g. "kb-file:<uuid>", "person:<uuid>", "opportunity:<uuid>").

get_entity

ChatGPT
Retrieve an entity's generated profile, linked entities, and the sources the profile derives from; the sources usually carry the detail needed — open a file with read_knowledge_file only for context beyond what the entity holds.

get_opportunity

ChatGPT
Get an opportunity's full detail: description, summary, per-source links (source_url, attachment urls), team views, linked project, and the org's recommendation for it when one exists.

get_pursuit_overview

ChatGPT
Get a pursuit's overview: shell, uploaded files, RFP metadata, and key dates.

list_knowledge_entities

ChatGPT
List the people, projects, or companies in user's knowledge library, with filters and pagination. Unlike search_entity (semantic ranking), this enumerates the library. People carry an affiliation (team_member or external_contact); projects carry an experience_type (firm_project or external_experience). name_contains is a case-insensitive match on name or alias. limit defaults to 25 (max 100).

list_knowledge_files

ChatGPT
List the organization's knowledge files with filters and pagination. tag_slugs restricts to tagged files ("any" matches at least one tag, "all" requires every tag); file_name_query is a case-insensitive substring match. limit defaults to 30 (max 200); the response echoes total_count and has_more for paging.

list_knowledge_tags

ChatGPT
List the organization's knowledge tags (slugs usable as tag_slugs filters).

list_my_organizations

ChatGPT
List the organizations you belong to, with your role in each. Tools target the organization marked is_default when organization_id is omitted; pass another organization_id to work in a different one.

list_pursuits

ChatGPT
List the organization's pursuits with stage, issuer, closing date, assignees, and tags. Sorted by closing date, soonest first, with undated pursuits last. Filters combine and date ranges are inclusive: stages (open: QUALIFICATION, IN_PROGRESS, SUBMITTED; closed: WON, LOST, NO_BID), assigned_to_me, closing_from/closing_to (RFP closing date), closed_from/closed_to (day the pursuit was marked Won, Lost, or No-Go), search (text in the name, RFP title, issuing organization, or reference number), and tag. limit defaults to 50 (max 200); pass next_offset as offset for the next page. Each pursuit's url opens it in Bidaya: link a pursuit's name to it when you mention one. Use get_pursuit_overview for one pursuit's files, RFP details, and key dates.

list_recommendations

ChatGPT
List the organization's AI-generated opportunity recommendations, ordered by relevance (0..1) with the matching rationale and service areas. Dismissed recommendations are excluded. limit defaults to 20 (max 100); min_relevance_score filters out weaker matches.

read_knowledge_file

ChatGPT
Read a knowledge file's parsed text content. Small files return full content; large files return a part structure to drill into with read_knowledge_file_part.

read_knowledge_file_part

ChatGPT
Read one part of a large knowledge file (part ids come from read_knowledge_file).

search_entity

ChatGPT
Semantically search the knowledge base for people, past projects, or partner companies.

search_knowledge

ChatGPT
Semantically search the organization's knowledge library (proposals, resumes, project sheets, and other firm documents). Returns contextually relevant excerpts grouped by knowledge file, with surrounding text for coherence. Use list_knowledge_tags for valid tag_slugs. limit is capped at 25. Not for live RFP opportunities — use search_opportunities for those.

search_opportunities

ChatGPT
Semantically search public RFP/tender opportunities aggregated from Canadian procurement portals. query must be at least 3 characters. A solicitation number or portal reference number (e.g. "IWS 2026-051", "00005195981") can be passed directly, alone or inside a longer query: exact matches are pinned first with matched_reference set to the number they matched. provinces takes two-letter codes (e.g. ["AB", "BC"]); date filters bound posting/closing dates. sort is relevance (default), closing_soonest, or posted_newest. Results include the org overlay: who on the team viewed each opportunity and any linked project. Use get_opportunity for full detail and source links.

submit_feedback

ChatGPT
Report a problem with these Bidaya tools to the Bidaya team. Use it when a tool errors, returns wrong or incomplete data, behaves differently from its description, or lacks a capability you needed. Categories: BUG (error or wrong result), MISSING_DATA (expected organization data absent), CONFUSING_TOOL (description, parameters or output misled you), FEATURE_REQUEST, OTHER. Submit once per distinct problem, after you have finished working around it, and keep helping the user. Do not include secrets or credentials.

summarize_pursuits

ChatGPT
Summarize the organization's pursuit pipeline. A pursuit is the workspace for one RFP the organization is pursuing. Its stage is QUALIFICATION, IN_PROGRESS, or SUBMITTED while open, then WON, LOST (with a lost reason), or NO_BID (No-Go: the firm decided not to bid, with a No-Go reason) once closed. Returns counts per stage, the win rate (WON / (WON + LOST); No-Go pursuits don't count), lost and No-Go reasons, pursuits closing within closing_soon_days, and past_closing: pursuits still in Qualification or In Progress after their closing date, which usually means the stage is out of date. outcomes_closed_from limits WON/LOST/NO_BID counts, the win rate, and lost and No-Go reasons to pursuits closed on or after that date; open stages are always current counts.

update_pursuit_stage

ChatGPT
Move pursuits to a stage on the pursuits board, or record how they ended. Changes what the user's whole team sees, so move only the pursuits the user asked about, and confirm with them first when you chose the pursuits yourself. QUALIFICATION, IN_PROGRESS, and SUBMITTED keep a pursuit open, reopening it if it was closed; WON, LOST, and NO_BID (No-Go) close it. lost_reason is required with LOST and only with LOST; no_go_reason is required with NO_BID and only with NO_BID. reason_note is what the reason was, in the user's words (at most 500 characters), required when the reason is OTHER and only then. Moving to SUBMITTED records today as the submission date; closing records today as the closed date; changing a Lost or No-Go pursuit's reason keeps its closed date. At most 50 pursuits per call. Pursuits already in the stage are listed in already_there; ones that can't be found or moved are listed in failed.

fetch

Claude

get_entity

Claude

get_opportunity

Claude

get_pursuit_overview

Claude

list_knowledge_entities

Claude

list_knowledge_files

Claude

list_knowledge_tags

Claude

list_my_organizations

Claude

list_pursuits

Claude

list_recommendations

Claude

read_knowledge_file

Claude

read_knowledge_file_part

Claude

search_entity

Claude

search_knowledge

Claude

search_opportunities

Claude

submit_feedback

Claude

summarize_pursuits

Claude

update_pursuit_stage

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

38

Tools

2

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily