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).
- Product site: https://tenda.eshmere.ai
- Support: hello@eshmere.ai, or https://tenda.eshmere.ai/support
- Security: security@eshmere.ai
- Privacy policy: https://app.tenda.eshmere.ai/privacy
- Terms: https://app.tenda.eshmere.ai/terms
What it covers
| Country | Source | Not covered |
|---|---|---|
| United States | SAM.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 |
| Canada | CanadaBuys: Government of Canada tenders and awards; Québec (SEAO); City of Toronto (Toronto Bids) | Other provinces and cities |
| United Kingdom | Find a Tender; Contracts Finder; Public Contracts Scotland; Sell2Wales | |
| European Union | Every 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
- Tenda is for businesses. People must be 18 or over.
- No account is needed to search for tenders, explain a notice, look up past awards, check fit and readiness, or get drafting briefs and draft checks.
- Saving anything (a watch, a company profile, the team's pipeline, a bid draft) needs a free Tenda account. The first time you use one of those tools, Tenda asks Muse to sign you in, and the account is made then.
- The team tools (pipeline, bid calls, bid sprints, giving out work, bid drafts, the Library and alerts) work inside a Tenda workspace. Make one at https://app.tenda.eshmere.ai/start, or join one when a colleague invites you.
- Two things need a paid plan: Tenda drafting a whole bid (Tenda Plus, Tenda Pro, Team Plus or Team Pro), and Tenda in Slack and Microsoft Teams (Team Plus or Team Pro). Plans are bought on Tenda's website, not in Muse. What each plan includes: https://tenda.eshmere.ai/#plans
- When something isn't in the workspace's plan, the answer says so, names the plan that includes it and that plan's monthly price, and links to Tenda's plans.
Setting it up
In Muse
- Add Tenda from Muse's connectors.
- Ask about tenders straight away, for example "Find open federal janitorial contracts closing this month".
- When you ask Tenda to save something, sign in or make a free account when Muse asks.
- To work as a team, make or join a workspace in Tenda's dashboard, then ask from Muse as before.
For developers
| Endpoint | https://mcp.tenda.eshmere.ai/muse |
| Protocol | MCP over Streamable HTTP. Stateless: no session ID, and any server can answer. POST only; answers are JSON. |
| Sign-in | OAuth 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. |
| Scopes | openid, profile, email |
| Resource metadata | https://mcp.tenda.eshmere.ai/.well-known/oauth-protected-resource/muse |
| Tokens | Sent as Authorization: Bearer. Tenda checks each token with Clerk and remembers the answer for up to five minutes. |
| Time limit | 60 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.
- A workspace's owners and admins make keys in Tenda's Settings, under Developers, on Tenda Pro, Team Plus and Team Pro. Tenda shows a key once, when it's made, and keeps only its hash. Revoking a key stops it at once.
- Send the key as
Authorization: Bearer tk_live_…: over MCP to https://mcp.tenda.eshmere.ai/mcp, or over plain HTTP toPOST https://mcp.tenda.eshmere.ai/v1/tools/{name}, with the tool's inputs as the JSON body. https://mcp.tenda.eshmere.ai/openapi.json describes every tool, made from the tools themselves. - To try Tenda first, use the test key
tk_test_sample, with no account: it calls the tools that change nothing on sample UK tenders as they stood on 30 September 2026, so the same call gets the same answer, and spends no credits. It makes 30 requests a minute from one address. - A key acts as the person who made it, in its own workspace only, with that person's role. A call that names another workspace is refused. A key goes when the person who made it leaves the workspace.
- With a key, the tools include
get_usage: the workspace's plan, about how many full bids its usage and credits pay for, how much of the month's usage is left, and when it starts again. - Over HTTP, the answer is the tool's facts as JSON, or an error with the reason: 400 for inputs that don't fit, 401 for no key or one Tenda doesn't know, 403 when the key's scopes, workspace or plan don't allow the call, 404 for no such tool, 422 when the tool couldn't do it, and 429 over the key's limit.
| Scope | What it allows |
|---|---|
read | The tools that change nothing: search, tender details, awards, fit, readiness, drafting briefs and checks, the pipeline's status, a bid draft and usage |
pipeline | The team's pipeline and bid calls, giving out work, watches and their updates, tender documents, the company profile and alerts |
drafting | Tenda 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.
| Role | What it allows |
|---|---|
| Owner | Everything, including the plan and deleting the workspace |
| Admin | Everything except the plan and deleting the workspace |
| Bid lead | The pipeline, bid calls, giving out work, writing and reviewing bids, the Library, Tenda drafting bids |
| Writer | Writing bids, the Library, Tenda drafting bids |
| Reviewer | Reviewing and scoring answers |
| Viewer | Reading the pipeline, bids and the Library |
| Guest | Only 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.
| Tool | What it does | Class | Account |
|---|---|---|---|
| search_tenders | Finds open and upcoming tenders | Read | Not needed |
| get_tender_details | Explains one tender | Read | Not needed |
| search_contract_awards | Finds past awards and contracts ending soon | Read | Not needed |
| assess_tender_fit | Scores how well tenders fit a company | Read | Not needed |
| check_bid_readiness | Lists the documents and registrations a company is missing | Read | Not needed |
| draft_bid_response | Returns a brief for writing one bid answer | Read | Not needed |
| review_bid_draft | Checks a draft answer the way an evaluator would | Read | Not needed |
| get_pipeline_status | Reports on the team's pipeline and bids | Read | Workspace |
| get_bid_draft | Shows how a bid Tenda is drafting is going | Read | Workspace |
| add_tender_documents | Reads requirements from a tender's documents | Write | Optional |
| watch_tenders | Sets up a watch for new tenders or changes to one | Write | Free account |
| get_tender_updates | Shows what's new from the person's watches | Write | Free account |
| save_company_profile | Saves the company's facts | Write | Free account |
| add_to_pipeline | Adds a tender to the team's pipeline | Write | Workspace |
| record_portal_account | Notes whether the team has an account on a tender's portal | Write | Workspace |
| update_bid_sprint | Ticks off a step of a bid | Write | Workspace |
| move_in_pipeline | Moves a tender to another stage | Write | Workspace |
| choose_alerts | Chooses which Slack and Teams channels get alerts | Write | Workspace, Team plan |
| rewrite_bid_answer | Has Tenda rewrite one answer of its draft | Write | Workspace, paid plan |
| add_winning_bid | Adds a won bid to the team's Library | Write | Workspace |
| record_bid_call | Records the team's bid or no-bid call | Sensitive | Workspace |
| assign_task | Gives bid work to someone | Sensitive | Workspace |
| start_bid_draft | Has Tenda draft a whole bid | Sensitive | Workspace, paid plan |
| continue_bid_draft | Gives Tenda what it needs to carry on a draft | Sensitive | Workspace, paid plan |
| list_watches | List my watches | Read | See below |
| stop_watch | Stop a watch | Write | See below |
| get_coverage | Show Tenda's coverage | Read | See 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
- Inputs:
query,country,region(a US state, Canadian province or territory, UK region, German Land, French region or EU country),buyer_type,contract_type(goods, services, works, any),stage(open, upcoming, any),procedure(open_procedure, competitive_flexible, framework, dynamic_market, any),suitable_for(sme, vcse, any),min_value_gbp,max_value_gbp,closing_within_days,buyer(words from the buyer's name),codes(CPV, NAICS, PSC, UNSPSC or GSIN codes; a shorter code covers the codes under it),published_since(a date, YYYY-MM-DD),sort(best, closing, newest, value),limit(1 to 50; 8 by default),cursor(nextCursorfrom the answer before),detail(short, full). - Returns: 8 tenders by default and up to 50 at a time, best fit first when the person has a saved company profile, or in the order
sortasks for.totalsays how many match in all, andnextCursor, passed back ascursorwith the same search, gives the next page. Each tender has its ID, reference, title, buyer and the buyer's ID, buyer type, regions, value (as text, and asvalueAmountwith itscurrency), closing time in the buyer's own time zone,closesAt, days left,publishedAt,updatedAt, stage, procedure, SME suitability, classification codes, source, link and where bids are submitted. Alsocountries(where it searched),interpretedAs(the kinds of work it read the words as) andasOf(every source searched had read its notices by then). Withdetailset to short, each tender has only its IDs, title, buyer, value, dates and link. - Without a
country, Tenda searches the person's own countries: their workspace's, or the US and Canada for someone without one. - Side effects: none.
get_tender_details · Read · no account
- Inputs:
tender_reference(required: a solicitation number, notice ID or the buyer's reference). - Returns: the tender as above, then what the buyer wants, lots, key dates, how bids are scored, how the procurement is run, rules such as set-asides, conditions of participation (each marked mandatory or not, with where it came from), the buyer and its contact as published, classification codes, documents published with the notice, what the notice leaves out, and any awards.
- Side effects: none.
search_contract_awards · Read · no account
- Inputs:
query,buyer,supplier,country,region,ending_within_months,codes(as for search_tenders),awarded_since(a date, YYYY-MM-DD),limit(1 to 50; 10 by default),cursor(nextCursorfrom the answer before),detail(short, full),summarise(buyer or supplier; addsoverview, who won most across every matching award, not just the page). - Returns: award notices with their ID, reference, title, buyer, the suppliers that won (with their IDs where the notice gives them), value (as text, and as
valueAmountwith itscurrency), award date (awardedAt), end date, classification codes, and when to watch for the re-tender. 10 by default and up to 50 at a time, withtotalandnextCursoras for search_tenders. - Side effects: none.
assess_tender_fit · Read · no account
- Inputs:
tender_reference(leave it out to rank open tenders),company_summary(not needed with a saved profile),business_size(micro, small, medium, large, vcse),query(when ranking),country. - Returns: for one tender, a score out of 100, a band, a confidence level, what counts for and against, disqualifiers, risks, gaps, what to confirm and the profile used. When ranking, up to 6 open tenders with their scores and reasons. Every answer says it doesn't predict an award.
- Side effects: none. A
company_summaryis used for this answer only.
check_bid_readiness · Read · no account
- Inputs:
tender_reference,sector(construction, facilities, it_digital, health_social_care, professional_services, goods_supply, transport, other),documents_held(add an expiry asname:YYYY-MM-DD),country. - Returns: a checklist of what buyers ask for, each item held, missing or expiring, with why it matters, how to get it and the rule behind it; then next steps. It's guidance, not legal advice.
- Side effects: none.
add_tender_documents · Write · account optional
- Inputs:
tender_reference(required),text(the document's text, not a link),title,read_published(true has Tenda fetch the files the buyer published with the notice; needs sign-in),workspace(by name, for people in more than one). - Returns: the requirements found, such as minimum turnover, insurance, certifications, experience and site visits, each with the words it came from and whether it's mandatory.
- Side effects: signed in, Tenda keeps the text and the requirements for that person's later fit and readiness checks on that tender. Signed out, it keeps nothing.
Writing bid answers
draft_bid_response · Read · no account
- Inputs:
tender_reference,section(required: quality_answer, social_value, method_statement, case_study, company_overview, cover_letter, clarification_question),word_limit,question,notes. - Returns: a drafting brief: the task, who scores it, the scoring criteria, an outline with words for each part, what the answer must cover and the evidence to use. Muse writes the draft from it.
- Side effects: none.
review_bid_draft · Read · no account
- Inputs:
draft(required),section(required: quality_answer, social_value, method_statement, case_study, company_overview, cover_letter, clarification_question),tender_reference,word_limit,question. - Returns: the word count, each check marked pass, warn or fail with details, what must be fixed, and the tender's scoring criteria with a 0 to 5 rubric.
- Side effects: none.
Watches
watch_tenders · Write · free account
- Inputs:
query,country,region,buyer_type,include_upcoming,tender_reference(to watch one tender for any change: its value, deadlines, documents, clarifications and the award),notify(slack, teams or both: also post matches to the workspace's channels that get changes). - Returns: whether the watch was made, and tenders that already match.
- Side effects: saves a watch for the person. Matches show when they ask what's new. Tenda doesn't email them.
get_tender_updates · Write · free account
- Inputs:
since(nextSincefrom the answer before; reads from there and marks nothing as seen),watch_id(one watch's updates, by theidwatch_tenders gave). - Returns: up to 50 updates since the person last asked: new matching tenders, pipeline notices, deadline changes, clarifications, cancellations and awards.
- Side effects: marks the updates it returns as seen, so they aren't shown again.
The company profile
save_company_profile · Write · free account · Owners and Admins in a workspace
- Inputs:
summary(required),company_name,company_number(a UK Companies House number, or a US company's SAM.gov UEI),website,business_size(micro, small, medium, large, vcse),staff,turnover_gbp,largest_contract_gbp,regions,nationwide,certifications,public_liability_gbp,employers_liability_gbp,professional_indemnity_gbp,buyer_types,workspace. - Returns: the profile as saved; for a UEI, its SAM.gov registration status and federal contracts from USAspending.gov; public contracts the company has won; the buyer portals worth registering on.
- Side effects: replaces the workspace's company facts with what the person gave, and checks Companies House or SAM.gov and USAspending.gov. Muse should show the person what will be saved first. Without a workspace, the profile is saved for the person alone.
The team's pipeline
get_pipeline_status · Read · workspace · any role but Guest
- Inputs:
workspace(by name, for people in more than one). - Returns: how many tenders are in each stage, the bids running with their next step and due date, tenders waiting on the bid call, and bids waiting on a result. Times are in the workspace's time zone.
- Side effects: none.
add_to_pipeline · Write · workspace · Owners, Admins and Bid leads
- Inputs:
tender_reference(required),more_references,workspace. - Returns: the tender, its stage (Watching), the portal it runs on and links into Tenda. It asks whether the team has an account on that portal until someone says.
- Side effects: adds the tender to the team's pipeline. Adding it twice changes nothing.
record_portal_account · Write · workspace · any role but Guest
- Inputs:
has_account(required),tender_reference,portal,workspace. - Returns: whether it was noted.
- Side effects: notes for the whole team whether it has an account on that portal, so Tenda stops asking.
move_in_pipeline · Write · workspace · Owners, Admins and Bid leads
- Inputs:
tender_reference(required),stage(required: watching, qualifying, submitted, won or lost; bidding and no_bid go through record_bid_call),workspace. - Returns: the tender's new stage.
- Side effects: moves the tender. Removing a tender from the pipeline is done in Tenda's dashboard.
record_bid_call · Sensitive · workspace · Owners, Admins and Bid leads
- Inputs:
tender_reference(required),decision(required: bid or no_bid),answers(yes, unsure or no to fit, eligibility, capacity, competition and value),reason,workspace. - Returns: the call, the tender's new stage and, for a bid, a six-step sprint planned back from the deadline.
- Side effects: records the call for the team, moves the tender to Bidding or No bid, and adds it to the pipeline first if needed. If the team uses Slack or Teams, Tenda can post the new work there. Muse should confirm the decision with the person first.
update_bid_sprint · Write · workspace · Owners, Admins, Bid leads and Writers; Reviewers for the review step
- Inputs:
tender_reference(required),step(required: decode, assign, draft, review, checks, submit),done(false reopens a step),workspace. - Returns: the sprint with who did each step and when, and what's next.
- Side effects: ticks the step off. Ticking submit moves the tender to Submitted. It records the team's own submission; Tenda never submits anything.
assign_task · Sensitive · workspace · Owners, Admins and Bid leads give out work; anyone can take work their role allows
- Inputs:
tender_reference(required),person(required: a name, an email or "me"),task(call, decode, assign, draft, review, checks, submit),workspace. - Returns: who has the work now, when it's due, and whether they were told in Slack.
- Side effects: gives the work to that person and can message them in the team's Slack or Teams. When the person's role can't do it, nothing changes and the answer says who can.
choose_alerts · Write · workspace on Team Plus or Team Pro · Owners and Admins
- Inputs:
app(slack or teams),channel,send(a list of new_tenders, changes, morning_summary, bid_work or all),stop(the same list),only,workspace. - Returns: where each kind of alert goes now.
- Side effects: changes which of the team's channels get Tenda's alerts. With neither
sendnorstop, it changes nothing. Connecting a channel is done in Tenda's dashboard.
Tenda drafting bids
start_bid_draft · Sensitive · workspace on a paid plan · Owners, Admins, Bid leads and Writers
- Inputs:
tender_reference(required),questions_text,confirmed,notify(slack, teams or both, the first that has somewhere to say it; [] for nowhere),workspace. - Returns: the first call, without
confirmed, starts nothing and says how many full bids the workspace has left this month. Called again withconfirmed: true, it starts the draft and returns its ID, status and any questions Tenda needs the team to answer. - Side effects: uses one of the workspace's full bids for the month. Muse should only confirm once the person chooses Tenda's drafting.
continue_bid_draft · Sensitive · workspace on a paid plan · Owners, Admins, Bid leads and Writers
- Inputs:
draft_id(or tender_reference; with neither, the latest draft),tender_reference,questions_text,answers,notes,draft_now,workspace. - Returns: the draft's status and what Tenda still needs.
- Side effects: once Tenda's questions are answered, or with
draft_now: true, Tenda drafts every answer in the background. Gaps are marked [TO CONFIRM].
get_bid_draft · Read · workspace · any role but Guest
- Inputs:
draft_id(or tender_reference; with neither, the latest draft),tender_reference,question(to read one answer in full),workspace. - Returns: the draft's status, each question with its word count and Tenda's mark out of 5, what the team still has to confirm, the check of the whole bid, and a link to the draft in Tenda, where the team edits it and downloads it in Word.
- Side effects: none.
rewrite_bid_answer · Write · workspace on a paid plan · Owners, Admins, Bid leads and Writers
- Inputs:
draft_id,tender_reference,question(required: such as "Q3"),instruction(required),workspace. - Returns: that the rewrite has started.
- Side effects: Tenda rewrites the answer in the background and marks it again. A bid's first ten rewrites are included; each after that uses a little of the workspace's monthly allowance.
add_winning_bid · Write · workspace · Owners, Admins, Bid leads and Writers
- Inputs:
text(required: the bid's text, not a link),title,workspace. - Returns: what was saved, its word count and a link to the Library.
- Side effects: keeps the bid in the workspace's Library, where Tenda learns from it for the bids it drafts.
How answers are shaped
Each tool returns:
content: one text block with a summary line; a ready-made Markdown table when the answer lists or compares things; a credit line when a data publisher asks for one; then the facts as JSON.structuredContent: the same facts, with the summary. Each tool declares their shape as itsoutputSchema; shapes stay open, so facts can be added without breaking a caller._meta: a card for hosts that show MCP Apps (ui://tenda/card.html). Hosts that don't can ignore it.
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
- Nothing to do isn't an error. When Tenda can't do what was asked but nothing went wrong (no notice with that reference, a tender not in the pipeline, no workspace yet, a role that can't do it, not in the plan), the answer is a normal result with its flag set to false (
found,created,saved,added,recorded,moved,updated,assignedorstarted) and a summary saying why and what to do next. - Bid drafts run in the background. A draft's
statusgoes fromneeds_pack(waiting for the buyer's questions) andreading, toneeds_answers(waiting for the team's answers to Tenda's questions), thenplanning,drafting,checkingandfixing, toready.rewritingshows while one answer is redone, one at a time. A step that fails is tried again; after the third failure the draft isfailedand what it used is given back. Muse checks progress with get_bid_draft. Tenda doesn't message the person when a draft started from Muse is ready. - Asking first. start_bid_draft starts nothing until it's called again with
confirmed: true. - Seen updates. get_tender_updates returns each update once.
Errors
| When | What Muse gets |
|---|---|
| A tool that needs an account is called without one | HTTP 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 revoked | HTTP 401, "Sign in to Tenda again" |
| An API key Tenda doesn't know, or one that was revoked | HTTP 401, saying which |
| An API key whose workspace's plan no longer includes keys | HTTP 403 |
| An API key past its requests for the minute | HTTP 429 with Retry-After, the seconds until the next minute |
| An API key's call outside its scopes or its workspace | A 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 partway | A 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 lookup | The profile is still saved, and the answer says to look the company up again later from Tenda's Settings. |
| Anything unexpected | A 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 POST | HTTP 405 |
Rate limits
- Tenda sets no request rate limit of its own for people using it, signed in or not.
- Each API key has its own: 60 requests a minute, unless it was given another, counted in each minute on the clock. Past it, Tenda answers HTTP 429 with
Retry-After. - The test key makes 30 requests a minute from each address.
- Each request must finish within 60 seconds.
- A plan sets how many full bids Tenda can draft each month and how many can run at once. Before a draft starts, Tenda says how many are left, and when the allowance is used up the answer says so.
- A bid's first ten rewrites are included; each after that uses a little of the allowance.
- Company lookups depend on Companies House and SAM.gov. SAM.gov limits lookups per day, so a lookup can wait until the next day.
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