Tenda in Muse

Tenda finds public sector contracts for businesses to bid on and helps them prepare the bid. Tenda is made by Eshmere Ltd, registered in England and Wales (company number 17239365).

What it covers

CountrySourceNot covered
United StatesSAM.gov: federal contract opportunities and awards; USAC E-Rate: schools' and libraries' requests for bids; New York City (City Record Online); Los Angeles (RAMP LA); San Francisco (SF City Partner); Washington DC (DC PASS)State governments and other cities
CanadaCanadaBuys: Government of Canada tenders and awards; Québec (SEAO); City of Toronto (Toronto Bids)Other provinces and cities
United KingdomFind a Tender; Contracts Finder; Public Contracts Scotland; Sell2Wales
European UnionEvery public buyer in Germany (oeffentlichevergabe.de), France (BOAMP), Spain (PLACSP), Latvia (IUB), Greece (KIMDIS) and Estonia (Riigihangete register); the rest of the EU above the EU thresholds (TED)EU tenders below the thresholds outside Germany, France, Spain, Latvia, Greece and Estonia

Tenda reads new and changed notices from these official sources through the day. Results are live public notices, so they change from day to day.

Who can use it

Setting it up

In Muse

  1. Add Tenda from Muse's connectors.
  2. Ask about tenders straight away, for example "Find open federal janitorial contracts closing this month".
  3. When you ask Tenda to save something, sign in or make a free account when Muse asks.
  4. To work as a team, make or join a workspace in Tenda's dashboard, then ask from Muse as before.

For developers

Endpointhttps://mcp.tenda.eshmere.ai/muse
ProtocolMCP over Streamable HTTP. Stateless: no session ID, and any server can answer. POST only; answers are JSON.
Sign-inOAuth 2.1 authorization code flow with PKCE (S256), through Clerk at https://clerk.tenda.eshmere.ai. Dynamic client registration and client ID metadata documents are supported, so Muse registers itself.
Scopesopenid, profile, email
Resource metadatahttps://mcp.tenda.eshmere.ai/.well-known/oauth-protected-resource/muse
TokensSent as Authorization: Bearer. Tenda checks each token with Clerk and remembers the answer for up to five minutes.
Time limit60 seconds per request. Bid drafting runs in the background, outside that limit.

A lighter tool list

For agents that read every tool before they start: https://mcp.tenda.eshmere.ai/mcp/lite has the same tools grouped into seven, find, tender, watches, pipeline, write_answer, tenda_draft and company, in about a third of the tokens. Each takes an action naming the tool it runs, with that tool's inputs, and answers exactly as that tool does. Sign-in and API keys work as at /mcp.

With an API key

For an agent or a script that works with no person present.

ScopeWhat it allows
readThe tools that change nothing: search, tender details, awards, fit, readiness, drafting briefs and checks, the pipeline's status, a bid draft and usage
pipelineThe team's pipeline and bid calls, giving out work, watches and their updates, tender documents, the company profile and alerts
draftingTenda drafting, carrying on and rewriting bids, and adding winning bids to the Library

A key can also have a webhook: an https address where Tenda posts the workspace's events as JSON, each with a Tenda-Signature header of t=<Unix seconds>,v1=<hex HMAC-SHA256 of "t.body"> under the webhook's secret, which Tenda shows once with the key. A post that fails is tried again up to five more times over the next day. Tenda sends draft.ready when a bid draft is ready, or ready again after a rewrite, with its draftId, reference, title and url; and watch.update for each update a watch made with the key finds, as get_tender_updates gives it.

Permissions

What signing in shares

Tenda gets the person's name, verified email address and account ID from Clerk, to find their Tenda account and workspace. It never sees their password. Tenda never asks for, stores or uses passwords for e-tendering portals, and never submits a bid.

Roles in a workspace

Tenda checks the person's role on every call that reads or changes workspace data.

RoleWhat it allows
OwnerEverything, including the plan and deleting the workspace
AdminEverything except the plan and deleting the workspace
Bid leadThe pipeline, bid calls, giving out work, writing and reviewing bids, the Library, Tenda drafting bids
WriterWriting bids, the Library, Tenda drafting bids
ReviewerReviewing and scoring answers
ViewerReading the pipeline, bids and the Library
GuestOnly the one bid they were invited to

When a role can't do something, the answer says which roles can.

Tools at a glance

Classes follow Meta's definitions: Read changes nothing; Write creates or changes data; Sensitive is a write that is hard to undo or reaches other people.

ToolWhat it doesClassAccount
search_tendersFinds open and upcoming tendersReadNot needed
get_tender_detailsExplains one tenderReadNot needed
search_contract_awardsFinds past awards and contracts ending soonReadNot needed
assess_tender_fitScores how well tenders fit a companyReadNot needed
check_bid_readinessLists the documents and registrations a company is missingReadNot needed
draft_bid_responseReturns a brief for writing one bid answerReadNot needed
review_bid_draftChecks a draft answer the way an evaluator wouldReadNot needed
get_pipeline_statusReports on the team's pipeline and bidsReadWorkspace
get_bid_draftShows how a bid Tenda is drafting is goingReadWorkspace
add_tender_documentsReads requirements from a tender's documentsWriteOptional
watch_tendersSets up a watch for new tenders or changes to oneWriteFree account
get_tender_updatesShows what's new from the person's watchesWriteFree account
save_company_profileSaves the company's factsWriteFree account
add_to_pipelineAdds a tender to the team's pipelineWriteWorkspace
record_portal_accountNotes whether the team has an account on a tender's portalWriteWorkspace
update_bid_sprintTicks off a step of a bidWriteWorkspace
move_in_pipelineMoves a tender to another stageWriteWorkspace
choose_alertsChooses which Slack and Teams channels get alertsWriteWorkspace, Team plan
rewrite_bid_answerHas Tenda rewrite one answer of its draftWriteWorkspace, paid plan
add_winning_bidAdds a won bid to the team's LibraryWriteWorkspace
record_bid_callRecords the team's bid or no-bid callSensitiveWorkspace
assign_taskGives bid work to someoneSensitiveWorkspace
start_bid_draftHas Tenda draft a whole bidSensitiveWorkspace, paid plan
continue_bid_draftGives Tenda what it needs to carry on a draftSensitiveWorkspace, paid plan
list_watchesList my watchesReadSee below
stop_watchStop a watchWriteSee below
get_coverageShow Tenda's coverageReadSee below

Tool reference

Optional inputs are in plain type; required ones are marked. Text inputs take the person's own words. Money inputs named _gbp take the country's own currency: dollars for the US, Canadian dollars for Canada, pounds for the UK, euros for the EU.

Finding and understanding tenders

search_tenders · Read · no account

get_tender_details · Read · no account

search_contract_awards · Read · no account

assess_tender_fit · Read · no account

check_bid_readiness · Read · no account

add_tender_documents · Write · account optional

Writing bid answers

draft_bid_response · Read · no account

review_bid_draft · Read · no account

Watches

watch_tenders · Write · free account

get_tender_updates · Write · free account

The company profile

save_company_profile · Write · free account · Owners and Admins in a workspace

The team's pipeline

get_pipeline_status · Read · workspace · any role but Guest

add_to_pipeline · Write · workspace · Owners, Admins and Bid leads

record_portal_account · Write · workspace · any role but Guest

move_in_pipeline · Write · workspace · Owners, Admins and Bid leads

record_bid_call · Sensitive · workspace · Owners, Admins and Bid leads

update_bid_sprint · Write · workspace · Owners, Admins, Bid leads and Writers; Reviewers for the review step

assign_task · Sensitive · workspace · Owners, Admins and Bid leads give out work; anyone can take work their role allows

choose_alerts · Write · workspace on Team Plus or Team Pro · Owners and Admins

Tenda drafting bids

start_bid_draft · Sensitive · workspace on a paid plan · Owners, Admins, Bid leads and Writers

continue_bid_draft · Sensitive · workspace on a paid plan · Owners, Admins, Bid leads and Writers

get_bid_draft · Read · workspace · any role but Guest

rewrite_bid_answer · Write · workspace on a paid plan · Owners, Admins, Bid leads and Writers

add_winning_bid · Write · workspace · Owners, Admins, Bid leads and Writers

How answers are shaped

Each tool returns:

A tender's closing time is shown in the buyer's own time zone with its name, such as "Oct 27, 2026, 2:00 PM EDT", and given as closesAt in UTC; publishedAt, updatedAt and awardedAt are in UTC too. Pipeline and sprint times are in the workspace's time zone. Money is in the country's own currency, and tenders and awards also give it as a number, valueAmount, with its ISO 4217 currency.

Status handling

Errors

WhenWhat Muse gets
A tool that needs an account is called without oneHTTP 401 with WWW-Authenticate: Bearer error="invalid_token", error_description="Sign in to Tenda to use this tool", naming the resource metadata and scopes. Muse signs the person in and tries again.
The token has expired or was revokedHTTP 401, "Sign in to Tenda again"
An API key Tenda doesn't know, or one that was revokedHTTP 401, saying which
An API key whose workspace's plan no longer includes keysHTTP 403
An API key past its requests for the minuteHTTP 429 with Retry-After, the seconds until the next minute
An API key's call outside its scopes or its workspaceA tool result with isError: true naming the scope the tool needs, or the key's workspace; over HTTP, a 403
The workspace's plan or setup rules the request out partwayA tool result with isError: true and a message written for people, such as "Northbridge's plan doesn't include alerts in Slack and Teams."
A public register is busy during a company lookupThe profile is still saved, and the answer says to look the company up again later from Tenda's Settings.
Anything unexpectedA tool result with isError: true: "Tenda couldn't do that just now. Please try again in a minute." Details stay in Tenda's logs.
A request that isn't POSTHTTP 405

Rate limits

Data

Tenda uses what it receives only to answer the request. It keeps what people save (watches, profiles, pipelines, bid drafts and documents) until they or their workspace's owners delete it, and a record of which tool was used, by which account and when, without what was asked. It doesn't sell personal data, use it for advertising or use it to train AI models. Full details: https://app.tenda.eshmere.ai/privacy

Tenda's answers support a business's decisions; they don't predict or guarantee an award. A person should review every bid before it's submitted.

How fresh and complete each source is, measured every hour: https://mcp.tenda.eshmere.ai/accuracy