Run your business from an AI agent
FASS MCP is a Model Context Protocol server. Connect it to Claude — or any MCP client — and an AI agent can operate your FASS workspace end‑to‑end: stand up an AI receptionist, give it a phone number, teach it, book appointments, pull matched federal solicitations, and run the whole front of a bid — price it against real DoD award history, decide GO/TEAM/SKIP, and draft the proposal. No dashboard, no API keys to paste.
What can I actually do?
You never call these tools yourself. You tell Claude what you want in plain English, and it chains the right tools together. For example, in a single prompt:
Claude will automatically:
- Create your business
- Configure the AI receptionist from your website
- Purchase a phone number (with your approval)
- Import your hours, services, and FAQs
- Sync appointments to your connected Google Calendar
- Begin answering calls and booking clients
Or point it at a bid on your board and let it run the whole front of the pursuit in one prompt:
Claude will automatically:
- Benchmark the price against real historical DoD awards for that NAICS (median, winning band, top agencies)
- Score it GO / TEAM / SKIP from market depth and your profile fit
- Flag risks — price out of band, thin market, tight deadline, missing solicitation text
- Draft a full proposal into the Proposal Editor, linked to the bid (only if it’s worth pursuing)
pursue_bid, which chains benchmark_award_prices, should_i_bid, and write_proposal_document — grounded in 19k+ historical DoD awards. It stops before drafting on SKIP, so no hours are wasted on a bid you can’t win.Overview
The FASS MCP server exposes your workspace as a set of tools an AI agent can call on your behalf. It speaks JSON‑RPC over HTTP at a single endpoint and authenticates with OAuth 2.1, so a client like Claude can discover it, sign you in, and start working — no key management.
Every tool is scoped to the businesses on your own account, and write actions (texting a lead, buying a number, booking) default to approval‑required in the client, so nothing happens without your say‑so.
Quickstart
In Claude, add FASS as a custom connector. The whole handshake takes about 30 seconds.
https://api.fass.systems/api/v1/voice/mcpAuthentication
FASS MCP is a full OAuth 2.1 authorization server. Clients that support MCP OAuth (like Claude) do the entire flow automatically:
- Discovery — the client reads
/.well-known/oauth-protected-resourceand/.well-known/oauth-authorization-server. - Dynamic client registration — the client registers itself (RFC 7591); you never create credentials by hand.
- PKCE authorize + token — you approve access through your normal FASS login; the client receives a scoped token.
If a request arrives without a valid token, the endpoint returns 401 with a WWW-Authenticate challenge that points the client at discovery — which is what triggers the sign‑in prompt.
# A tool call, once authenticated POST /api/v1/voice/mcp Authorization: Bearer <token> { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "create_business", "arguments": { "name": "Parenting Law", "timezone": "America/New_York" } } }
Tools reference
46 tools, grouped by what they do. Optional parameters are marked ?. When you have one business, business_id can be omitted and FASS uses it automatically.
Provisioning
| Tool | Parameters | What it does |
|---|---|---|
create_business | name, website?, timezone? | Create a new receptionist line in preview. Pass a website to auto‑write the greeting and script. |
set_agent | business_id, greeting?, voice?, timezone?, languages?, system_prompt? | Configure how the line answers — including the languages it speaks. |
provision_number | business_id, area_code?, contains? | Buy a phone number and take the line live. Purchases a real number. |
languages to set_agent or create_business — e.g. "English, Spanish". The AI auto‑detects the caller's language on the call and answers in it, and can switch mid‑call. Spoken support today: English, Spanish, French, Portuguese, German, Italian.Knowledge
| Tool | Parameters | What it does |
|---|---|---|
set_faq | business_id, question?, answer?, faqs? | Teach the line question→answer pairs it uses on calls. |
update_knowledge | business_id, note?, facts? | Add facts (hours, services, pricing, policies). |
list_knowledge | business_id | Read back the facts and FAQ the line currently uses. |
Booking
| Tool | Parameters | What it does |
|---|---|---|
get_availability | business_id, date_from?, date_to?, duration_minutes? | Open slots in business hours, minus already‑booked and Google‑Calendar‑busy times. |
book_appointment | business_id, contact, start, name?, duration_minutes?, purpose? | Book a slot. Rejects double‑bookings at the database level and syncs to your Google Calendar. |
Flow & govcon
| Tool | Parameters | What it does |
|---|---|---|
list_solicitations | only_open?, limit? | Federal/state solicitations matched to your workspace (title, commodity, deadline, link). |
email_solicitation_digest | only_open? | Email a digest of matched solicitations to your own account email — never anyone else. |
generate_grantpath_report | business_name, naics?, state?, certifications?, email? | Build a personalized GrantPath report — federal contracts (SAM.gov) + grants (Grants.gov) matched to the business, ranked with a plain‑English "why it fits" — email the PDF and land the matches on your pipeline. |
generate_contractpath_report | business_name, naics?, state?, certifications?, email? | Win‑focused report: open solicitations to bid on now, plus the recompetes on the horizon to position for. Emails the PDF and syncs to your pipeline. |
generate_proposal | business_name, title, solicitation_number?, agency?, naics?, set_aside?, deadline?, description?, email? | Draft a full federal Technical & Price Proposal (cover, exec summary, approach, personnel, past performance, compliance matrix) for one solicitation and email the PDF. |
render_grantpath_report | spec, email? | Render an agent‑researched report spec into the branded FASS PDF template. |
pursue_opportunities | business_name, naics?, state?, track?, max?, email? | Autopilot: scan live opportunities, draft a full proposal for each strong fit, land them on your pipeline, and deliver. The hands‑off trigger. |
get_business_profile | — | Read the government‑contracting profile that drives every match & proposal: NAICS codes, certifications, SAM UEI, CAGE, core competencies, differentiators, past performance, size. |
update_business_profile | naics_codes?, certifications?, sam_uei?, cage_code?, core_competencies?, differentiators?, company_name?, service_type?, website?, phone?, address?, … | Correct the profile so matching and drafted bids are accurate. Only the fields you pass change. |
Pipeline control
| Tool | Parameters | What it does |
|---|---|---|
list_pipeline | stage?, limit? | See the bid board grouped by stage (flagged → scored → pursuing → submitted → awarded → passed): id, title, agency, deadline, NAICS, score, value. |
read_proposal | proposal_id | Read the FULL content of one bid — captured solicitation text, R‑E‑A‑D worksheet, drafted sections — so an agent can review or improve it. |
list_due | within_days? | The bids that need attention — overdue or due within N days (default 7), excluding awarded/passed. Nearest deadline first. |
triage_pipeline | stage?, limit? | Score & tag every board opportunity prime / sub / ignore for winnability (SaaS fit, subcontract‑friendly, repeat buyer; penalizes past‑performance gaps & unheld set‑asides). Persists the tags. |
read_proposal_document | proposal_id | Open a bid in the Proposal Editor and read its full drafted content as text, plus the linked solicitation and edit count. |
write_proposal_document | proposal_id, markdown, note? | Draft or rewrite a bid's content (markdown → the editor doc). Creates the document if missing and records the change in history. |
list_proposal_history | proposal_id, limit? | The edit history / audit trail of one proposal — who changed what and when. |
move_pipeline_item | proposal_id, stage | Move an item to another stage/column — this is how an agent partitions the board. |
update_pipeline_item | proposal_id, title?, agency?, due_date?, naics_code?, estimated_value?, status? | Fix an item's details so the board is correct. Only the fields you pass change. |
delete_pipeline_item | proposal_id | Permanently remove a junk/duplicate item. Deletes a real row — cannot be undone. |
user_id at the database level — an agent can only touch your board, never anyone else's.Estimator & bid intelligence
| Tool | Parameters | What it does |
|---|---|---|
benchmark_award_prices | naics, state?, estimate? | Price a bid against what actually won at DoD: award count, median winning amount, the p25–p75 competitive band, top buying agencies, and where your estimate lands vs. real winners. Real federal award data, not a guess. |
should_i_bid | naics, state?, estimate?, agency? | Answer “should we even pursue this?” before hours are spent. Combines the award benchmark (market depth + price fit) with your business profile (NAICS/cert fit) into a transparent GO / TEAM / SKIP call with plain‑English reasons. Decision support, not a guaranteed probability. |
pursue_bid | proposal_id, estimate?, draft? | One‑command bid engine. Point it at a pipeline item and it runs the whole front of the bid end to end: benchmarks the price → should_i_bid GO/TEAM/SKIP → flags risks (price out of band, thin market, deadline, missing SOW) → and, if it’s worth it, drafts a full proposal into the Proposal Editor linked to the bid. Stops before drafting on SKIP so no hours are wasted. |
Read & act
| Tool | Parameters | What it does |
|---|---|---|
list_businesses | — | Your lines, with phone number and live/preview status. |
list_calls | business_id?, limit? | Recent calls: time, caller, duration, outcome. |
list_leads | business_id?, limit? | Captured leads: caller, callback, need, urgency. |
list_messages | contact, business_id? | The SMS thread with one contact. |
send_sms | to, body, business_id? | Send a real text from a business line. |
list_followups | — | Open follow‑ups in your CRM. |
create_followup | subject, name?, phone?, kind? | Create a follow‑up task. |
create_meeting_link | business_id? | A shareable video meeting link anyone can join in a browser. |
get_usage | — | Businesses, calls answered, leads captured. |
Sales team — staff only
These work the new‑registrant call queue and are role‑gated: only accounts whose profile role is admin, manager, or rep can call them. Everyone else gets a polite refusal. Each is scoped to the signed‑in rep.
| Tool | Parameters | What it does |
|---|---|---|
list_sales_leads | pool?, track?, state?, limit? | Leads from the call queue. pool = mine, new, due, or unclaimed. |
get_sales_lead | uei | Full detail on one lead — contact, decision‑maker, status, consent, recent activity. |
draft_lead_outreach | uei, channel? | Draft a personalized call opener, email, or text for a lead around the right FASS product. Drafts only — sends nothing. |
claim_lead | uei | Assign a lead to you. Refuses if another rep holds it. |
log_sales_outcome | uei, outcome, note?, follow_up_hours?, dq_reason? | Record a call result (no_answer / talked / sent_link / meeting / nurture / disqualify), advance status, set follow‑ups. |
set_lead_consent | uei, source | Record outreach consent (verbal_on_call / inbound_callback / written) before any automated messaging. |
my_sales_stats | — | Your scoreboard: pipeline, the dials→connects→links→paid funnel, rates, and estimated commission. |
Use cases
Because the tools compose, one instruction can chain several. A few things you can just ask for:
- Onboard from chat — “Spin up a receptionist for my law firm from our website, give it a 443 number, and teach it our hours.” (create_business → set_agent → provision_number → set_faq)
- Convert a caller — “Book the caller Thursday at 2pm and add it to my calendar.” (get_availability → book_appointment)
- Work the govcon pipeline — “Email me the federal solicitations matched to my business.” (list_solicitations → email_solicitation_digest)
- Go from zero to drafted bids — “Find the federal work my business qualifies for and draft proposals for the best fits.” (pursue_opportunities → land on pipeline)
- Keep the board clean — “Show my pipeline, delete the duplicate SolarWinds bid, and move the overdue food‑service ones to passed.” (list_pipeline → delete_pipeline_item → move_pipeline_item)
- Follow up — “Text the warm lead our booking link and log a follow‑up to call them tomorrow.” (send_sms → create_followup)
Security & tenancy
- Scoped to you. Every tool resolves against the businesses on your own account. A business id that isn't yours returns nothing.
- Approval by default. Write tools (
send_sms,provision_number,book_appointment,email_solicitation_digest,generate_proposal,pursue_opportunities,move_pipeline_item,update_pipeline_item,delete_pipeline_item, …) default to approval‑required in the client.delete_pipeline_itemis permanent and always asks first. - Digest goes only to you.
email_solicitation_digestcan only send to your own account email — never an address supplied in a prompt. - Hard guards. Double‑booking is prevented by a database constraint, not a best‑effort check.
Pricing
The connector operates on your existing FASS workspace. You pay for FASS Voice, Flow, or the FASS Suite bundle as usual; calls, phone numbers, and usage bill through your plan. There is no per‑call MCP surcharge and no developer add‑on.
| Plan | What you get | MCP access |
|---|---|---|
| FASS Voice | AI receptionist on your line | Included |
| FASS Flow | Govcon capture + solicitation matching | Included |
| FASS Suite — $399/mo | Voice Pro + Flow Core + one more capability | Included |