[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# EstimateOne MCP server: Let your AI agent chase your EstimateOne tenders.

> EstimateOne has an External API for partner software: read-only, with one endpoint for Speci-finder matches, set up by EstimateOne for each customer (checked 6 Nov 2026). We found no EstimateOne MCP server. Cotlet adds 12 EstimateOne tools for Claude, ChatGPT and scripts: no API key to request, no partner approval, hosted all day, and one account for your other apps too.

Search the Tender Noticeboard, track your leads, answer builders and submit quotes from your AI agent. It signs in to EstimateOne as you, so there is no partner API to apply for. Cotlet runs it hosted, around the clock.

- Free 7-day trial, no card
- Not affiliated with EstimateOne
- Page: https://cotlet.dev/integrations/estimateone-api-mcp-server

## What can your AI agent do in EstimateOne?

- Get a daily digest of new tenders
- Chase quotes due this week
- Answer Not Quoting on tenders that do not fit
- Request and download tender documents
- Submit a quote from your PDF
- See which builders viewed your quotes

## Does EstimateOne have an MCP server or an API?

- The API signs in with an OAuth2 credential that EstimateOne issues for one customer user. It has no webhooks, so partners pull results hourly or daily. The builder side (projects, packages, documents) is not open to partners in production.
- There is no EstimateOne app on Zapier. EstimateOne's own guide connects Zapier through Webhooks by Zapier and the partner credential, and it reads Speci-finder matches only.
- EstimateOne also emails a Speci-Finder Report and a Watchlist Update, daily or weekly. They go to a person, not to an agent.

| What you need | Partner API | By hand | Cotlet |
|---|---|---|---|
| Speci-Finder matches | Read-only JSON | Yes, or by email | Yes |
| Search the Noticeboard with filters | No | Yes | Yes |
| Answer Intend to Quote or Not Quoting | No | Yes | Yes, after your OK |
| Request and download documents | No | Yes | Yes, after your OK |
| Submit and revise quotes | No | Yes | Yes, after your OK |
| No partner agreement with EstimateOne | Set up per customer | Yes | Yes |
| Runs with you away | Yes, on a schedule | No | Yes, hosted |

Checked 6 Nov 2026. Sources: [E1 Developer: Overview](https://developer.api.estimateone.com/overview.html), [E1 Developer: Use the API from Zapier](https://developer.api.estimateone.com/guides/zapier.html), [E1 Developer: Supplier API](https://developer.api.estimateone.com/reference/supplier-api.html), [E1 Help: Managing E1 emails](https://supplier.support.estimateone.com/en/articles/1704885089-managing-e1-emails)

## How does the EstimateOne MCP server work?

1. **Sign in to EstimateOne.** Once, in a browser we run for you.
2. **Connect your AI agent.** Paste one address.
3. **Ask in plain words.** The agent works in your leads.

We never see or store your EstimateOne password, and every call that tells a builder something waits for your OK.

## How to connect EstimateOne to your AI agent

Three steps, then one code block for your client.

1. **Enable EstimateOne for agents.** Sign up, sign in to EstimateOne in its Cloud Browser with your own login, then press Enable for agents.
2. **Add the Cotlet address.** Enter https://cotlet.dev/mcp/v1 as a custom MCP server or connector in your agent.
3. **Approve the connection.** Chat apps open a Cotlet sign-in page. Editors, n8n and scripts use an API key from the console.

One shared address, `https://cotlet.dev/mcp/v1`, also carries EstimateOne next to your other apps. Turned EstimateOne on after connecting? Refresh the connector so the agent sees the 12 new tools.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-estimateone \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-estimateone": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-estimateone]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: estimateone_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: estimateone_write
```

## All 12 EstimateOne MCP tools

### Find tenders

Every other tool takes a project_id from these. Searches use the Noticeboard's own filters; contains_keyword limits results to Speci-Finder matches.

- **Search tenders** (`search_tenders`, read): Projects on the Tender Noticeboard, filtered like the board.
- **Get tender details** (`get_tender`, read): One project: builder, package, value, due date, trades, keywords and document access.
- **List Speci-Finder matches** (`list_speci_finder_matches`, read): Projects whose documents mention your Speci-Finder keywords.

### Leads and Watchlist

list_leads follows the Leads screen: its tabs, and only your own invitations unless you pass team_member. A Watchlist change reaches only your team.

- **List leads** (`list_leads`, read): Your leads: invitations and projects you opened, with due date, document status and quote response.
- **List Watchlist** (`list_watchlist`, read): Projects your team tracks, with interest level and who watches them.
- **Update Watchlist** (`update_watchlist`, write): Add a project to the Watchlist, set its interest level or assign it to a teammate.
- **Set quote response** (`set_response`, write, asks first): Tell a builder you intend to quote, or that you are not quoting.

### Documents

Request package waits for the builder; where the board shows View and Download, download_package works at once. Opening documents tells the builder.

- **Request project package** (`request_package`, write, asks first): Ask the builder for access to a package of documents.
- **Download project package** (`download_package`, write, asks first): Download the documents of a package, or only what changed.

### Quotes

A quote needs a total excluding GST and a quote file. Revising keeps the original, so builders see both versions.

- **List quotes** (`list_quotes`, read): Quotes you submitted on a project, with versions and when builders viewed them.
- **Submit quote** (`submit_quote`, write, asks first): Send a quote to one or more builders on a project.
- **Revise quote** (`revise_quote`, write, asks first): Send a new version of a quote you already submitted.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/estimateone-api-mcp-server#tools

## Who can see my EstimateOne session, and how do I revoke it?

- **What we store.** Your signed-in EstimateOne browser profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 12 EstimateOne tools. Never the cookie or the login.
- **What the session sees.** What your account sees: tenders, leads, Watchlist, documents and your quotes.
- **What no tool touches.** Plans, billing, licences, team members, password and two-factor.
- **If EstimateOne asks for a code.** You sign in yourself and type any code. We never do.
- **How to cut access.** Disable for agents, reset the browser or delete the API key. The next call fails.

cotlet.dev gets A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## What does my agent see in EstimateOne?

| Tool | What EstimateOne decides |
|---|---|
| search_tenders | A free account sees a limited number of tenders per month. |
| list_speci_finder_matches | Speci-Finder features follow your subscription. Conditional criteria are on the Professional tiers. |
| list_leads | Shows your own invitations. Colleagues' leads need the team_member filter. |
| request_package | The builder approves, and EstimateOne emails you their answer. |
| submit_quote | The total amount excluding GST and the quote file are required. |
| list_quotes | Viewed By Builders shows a date once the builder opens the quote. |

What that means for you:

- The agent sees only what your account shows
- A call your account cannot make fails and costs nothing
- You need no partner agreement or developer approval
- Your team keeps its own Watchlist and leads

> EstimateOne accepts quotes after the due date, but builders may have stopped looking. Ask your agent to flag Overdue leads and confirm with the builder first.

## What happens when EstimateOne changes?

- **12 h** between tests of the EstimateOne tools
- **$0** for a call to an EstimateOne tool paused for repair

EstimateOne shows different things to free and paid accounts, so the tools read each screen as your account shows it. When EstimateOne moves a button or renames a filter, the fix is on our side. [status.cotlet.dev](https://status.cotlet.dev) checks the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Reads the tender.** get_tender shows the builder, package and due date before anything is sent.
2. **Checks your quote.** The package, the total excluding GST and the file are all there.
3. **Waits for your OK.** The quote shows up in your Cotlet console first.
4. **Reports back.** Version, builder, amount and the lead's new status.

| Action | Undo |
|---|---|
| Update the Watchlist | Change it again; only your team sees it |
| Request a package | The builder decides and EstimateOne emails you the answer |
| Download a package | No, the builder is told you opened the documents |
| Set Intend to Quote or Not Quoting | Change it with another call; the builder was already told |
| Submit a quote | Delete it in EstimateOne; the builder may have kept a copy, so tell them |
| Revise a quote | No, builders keep both versions; the message says what changed |

5 of 12 tools ask first: request_package, download_package, set_response, submit_quote and revise_quote. The 6 reads and the Watchlist change run at once. Turn the wait off per tool for a scheduled run.

> A quote sent by email, outside EstimateOne, cannot be deleted inside it.

MCP call:

```
{
  "name": "submit_quote",
  "arguments": {
    "project_id": "E1-48213",
    "builders": [
      "Northgate Build"
    ],
    "package": "Electrical",
    "total_amount": "118400.00",
    "quote_file": "electrical-quote.pdf",
    "message": "Includes LED panels per E-200. Valid for 30 days."
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/estimateone/projects/E1-48213/quote/submit \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"builders":["Northgate Build"],"package":"Electrical","total_amount":"118400.00","quote_file":"electrical-quote.pdf","message":"Includes LED panels per E-200. Valid for 30 days."}'
```

Tool output:

```
{
  "project_id": "E1-48213",
  "version": "v1",
  "builders": [
    "Northgate Build"
  ],
  "package": "Electrical",
  "total_ex_gst": "118400.00",
  "lead_status": "Quoted"
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/estimateone`, with the same key and price. A write answers 202 while it waits for your OK. Each row in the tools table shows its REST path.

## How much does the EstimateOne MCP server cost?

**About $20 a month** for a subcontractor's estimator, 3,520 credits. Your EstimateOne plan is billed by EstimateOne as before.

| Job | Calls | Credits |
|---|---|---|
| Daily digest: matches and new tenders | 6 × 22 | 1,320 |
| Quotes due this week, weekly | 4 × 4 | 160 |
| Answer a tender: details, then your response | 2 × 10 | 200 |
| Request or download a package | 2 × 8 | 160 |
| Submit a quote, then check it | 3 × 6 | 180 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 3,520 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- One-time packs, valid 12 months, no subscription

The month is our example: a digest on each of 22 working days, about 10 tenders answered, 8 packages and 6 quotes. EstimateOne publishes no figure for tenders a subcontractor quotes a month. It also lists no price for its subcontractor and supplier plans; sign-up is free with a limited number of tenders a month. Dollars at the $29 pack rate.

## EstimateOne MCP server: partner API, Zapier, email or hosted

| Option | What it does | Where it stops |
|---|---|---|
| [EstimateOne partner API](https://developer.api.estimateone.com/overview.html) | Official: Speci-finder matches as JSON with cursor paging, one OAuth2 credential per customer user. | EstimateOne sets up each partner and customer. Read-only, no tender search, documents or quotes, no webhooks. |
| [Webhooks by Zapier](https://developer.api.estimateone.com/guides/zapier.html) | EstimateOne's guide: request a token, read matches, loop them into a CRM or sheet. Hourly or daily is its advice. | The same partner credential. There is no EstimateOne app on Zapier. |
| [EstimateOne emails](https://supplier.support.estimateone.com/en/articles/1704885089-managing-e1-emails) | A Speci-Finder Report on new projects with your keywords and a daily or weekly Watchlist Update on dates, awards and addendums. | Mail for a person. Nothing answers a builder or sends a quote. |

We found no EstimateOne MCP server on GitHub or from EstimateOne (searched 6 Nov 2026). If you build software for many EstimateOne customers and want matches pushed into your own system, ask EstimateOne for partner access. Cotlet is for the estimator or owner who wants an agent in Claude or ChatGPT working in their own account, with nothing to apply for.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the EstimateOne tools.

## EstimateOne MCP server: questions

### How do I connect EstimateOne to ChatGPT or Claude?

Sign up at cotlet.dev, log in to EstimateOne once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your EstimateOne account through Cotlet, in their phone apps too.

### What can ChatGPT do in EstimateOne?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in EstimateOne: a daily tender digest; chase quotes due this week; decline tenders that do not fit. You ask in plain words, and anything that reaches a builder waits for your OK first.

### Is there an EstimateOne connector for ChatGPT or Claude?

EstimateOne has no connector of its own for ChatGPT or Claude (checked 6 Nov 2026). Cotlet adds one to both: you add Cotlet once and ChatGPT or Claude works in your own EstimateOne account, finding and sorting tenders for you.

### How do I get access?

Create a free account at https://cotlet.dev, open EstimateOne under Integrations in the console and sign in to EstimateOne in its Cloud Browser. The trial starts with your first app, no card asked.

### Does EstimateOne have an MCP server?

We found none from EstimateOne (checked 6 Nov 2026). Its External API is partner-only and read-only, and it returns Speci-finder matches. Cotlet gives Claude, ChatGPT and scripts the EstimateOne tools above, hosted.

### Do I need a paid EstimateOne plan?

No plan is needed to connect. E1 says sign-up is free, and a free account sees a limited number of tenders per month, so search_tenders shows what your account shows. Speci-Finder features depend on your subscription tier, so list_speci_finder_matches returns what your tier offers.

### Which leads does my agent see?

The Leads screen shows only invitations assigned to you by default, and list_leads follows it. Pass team_member to see a colleague's leads. Your agent works in your own account, so it sees what you see.

### Do I need partner access from EstimateOne?

No. Cotlet works in your own account, so EstimateOne issues no credential and registers no application. You sign in with your own login, and your account sets what the agent sees.

### Does EstimateOne send events to my agent?

Not through Cotlet. The partner API has no webhooks either. Cotlet reads and writes when your agent asks, so for a morning check of new tenders, run your agent on a schedule.

### Is the MCP server different from the REST API?

Only the door is different. Both expose the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and cron jobs use REST.

### Is Cotlet affiliated with EstimateOne?

No. Cotlet is independent and not affiliated with EstimateOne Pty Ltd.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
