Upfirst

Official Recommended SSE

by Unknown

56 downloads Not rated yet
Website

About

Upfirst is an AI phone receptionist for small businesses. Review call transcripts, then fix the greeting, knowledge, and transfer rules from your AI client.

Details

Transport
SSE

Explore

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Upfirst
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

{
  "mcpServers": {
    "upfirst": {
      "type": "http",
      "url": "https://mcp.upfirst.ai"
    }
  }
}

get_account_overview

Compact snapshot of the connected business account: the business name and, for each AI receptionist, its name, timezone, greeting, connected phone numbers, and its skills and knowledge entries (names with active flags), plus the number of calls handled across the account in the last 30 days (settled calls only; test and archived calls are not counted). Call this first to orient yourself — it shows what the account has before you reach for more specific tools. Use each agent id with get_agent_…

list_agents

List the organization's AI agents (id and name). Use the returned id with get_agent_by_id to read an agent's full settings.

get_agent_by_id

Read an AI agent's conversational settings (greeting/goodbye messages, voice tone, speech rate, hold music, language, timezone, spam blocking) and its attached phone numbers by agent id. Agent ids come from the list_agents tool.

update_agent

Update an AI agent's conversational settings. This is a partial update: only the fields provided change, and at least one settable field is required. Settable fields: greeting message, goodbye message, voice tone, speech rate, hold music, spam call blocking, toll-free call blocking. The spam and toll-free blocking flags apply to this agent only, while the dashboard sets them for all of the organization's agents at once. Voice, timezone, and language cannot be changed over this connection — th…

list_agent_skills

The skills configured for the AI receptionist — a skill is an action it can perform during calls: texting the caller (sendSms), texting a scheduling link (sendScheduleSms), transferring the call (transferCall), booking an appointment (scheduleSlot), or calling an external API (customWebhook). Each row carries the raw stored config for its kind plus an optional weekly schedule; a schedule is honored at runtime only for transfer skills — every other kind ignores it. customWebhook skills keep th…

create_sms_skill

Add a texting skill to an AI agent — the SMS it can send to a caller during a call. Two kinds exist: sendSms texts the message as written, and sendScheduleSms texts it together with the organization's scheduling link. `message` is the text itself, `instruction` tells the agent when to send it; the text passes a content filter that rejects promotional or otherwise restricted wording. Texting skills are the only kind this connection can create — transfer, scheduling, and webhook skills are set …

update_sms_skill

Edit a texting skill of an AI agent. This is a partial update: only the fields provided change, and at least one settable field is required. Settable fields: name, message text, instruction, active flag, and the kind (sendSms for plain text, sendScheduleSms to append the organization's scheduling link). The message passes a content filter that rejects promotional or otherwise restricted wording. Only texting skills can be edited over this connection — transfer, scheduling, and webhook skills …

delete_sms_skill

Permanently remove a texting skill (sendSms or sendScheduleSms) from an AI agent. Deletion cannot be undone — nothing in the product restores a deleted skill, so confirm with the user first; getting it back means creating it again from scratch. Transfer, scheduling, and webhook skills are removed on the dashboard instead. Skill ids come from list_agent_skills, agent ids from list_agents.

create_transfer_call_skill

Add a transfer skill to an AI agent — the rule that hands a live call over to a human. `condition` tells the agent when to transfer, `preTransferMessage` is what it says to the caller first, and `destinations` are the phone numbers it dials in order; every destination must be in the same country as one of the account's Upfirst numbers. Optional settings cover the ring timeout, what happens when nobody answers, cold or warm transfer, the caller id the destination sees, recording after the hand…

update_transfer_call_skill

Edit a transfer skill of an AI agent. This is a partial update: only the fields provided change, and at least one settable field is required. Settable fields: name, transfer condition, pre-transfer message, destinations, ring timeout, no-answer action, cold or warm transfer, caller id, recording mode, active flag, and the weekly schedule. Destinations replace the whole list, and a null schedule clears it, making the skill available around the clock. Every destination must be in the same count…

get_agent_knowledge

An AI agent's knowledge base — the training material it answers callers from, either pasted text or content imported from a website. Every entry is returned whole with its full `content` (never a preview): id, name, type (text or website), active flag, the source `url` for website entries (null for text), and the weekly `schedule` limiting the hours the agent answers from it (null when it always does, times in the agent's timezone). Inactive entries are included with their flag; deleted entri…

create_agent_knowledge

Add a text entry to an AI agent's knowledge base — the training material it answers callers from. The new entry belongs to this agent alone, goes to the top of its corpus, and the agent retrains automatically; the change takes effect within minutes. Content is plain text of at most 250,000 characters. An optional weekly schedule limits the hours the agent answers from the entry, in the agent's timezone; without one it always does. Website entries cannot be created over this connection — they …

update_agent_knowledge

Edit a knowledge entry of an AI agent: its name, active flag, content, or weekly schedule. This is a partial update — only the fields provided change, and at least one of them is required. New content replaces the stored text entirely and is capped at 250,000 characters, so read the entry with get_agent_knowledge first and send back the full text you want it to have, including whatever you are keeping. A null schedule clears it, so the agent answers from the entry around the clock; any other …

delete_agent_knowledge

Permanently remove an entry from an AI agent's knowledge base. Deletion cannot be undone — nothing in the product restores a deleted entry, so confirm with the user first; getting it back means creating it again from its original text. Read the entry with get_agent_knowledge before deleting it if that text is worth keeping. An entry shared across the organization can be deleted here too, and every agent that answers from it loses the material. The agent retrains automatically and stops answer…

list_calls

List and filter the business's phone call history, most recent first. Returns compact rows (who called, when, how long, outcome, tags, linked contact) — it does NOT include transcripts or summaries. Only settled calls are returned; a call appears shortly after it ends. Each row's `status` is its primary outcome by priority (test > blocked > spam > hungUp > completed), the same label the dashboard shows. The `statuses` filter mirrors the dashboard's call-list filter: every call belongs to exac…

get_call_by_id

Full details of one settled call: timing, outcome status, caller and receptionist phone numbers, the AI-written summary, data fields captured during the call, the skills the receptionist used (with when in the call each fired, in seconds), tags, the comments your team left on the call (author, date, text), and how many transcript turns exist. It does NOT include the transcript itself — use get_call_transcript for the conversation text. Pass the numeric id returned by list_calls; in-progress c…

get_call_transcript

The conversation text of one settled call as ordered turns, each with a [mm:ss] offset from call start, the speaker, and what was said. Three speaker roles exist: Agent is the AI receptionist, Caller is the person who dialed, and Transferee is a human the call was handed to. A typical call fits in a single response — the turn limit and offset are a safety bound for unusually long calls, so page only when the note says more turns remain. Pass the numeric id returned by list_calls; in-progress …

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "upfirst": {
            "upfirst": {
                "type": "http",
                "url": "https://mcp.upfirst.ai"
            }
        }
    }
}

McpServers

{
    "upfirst": {
        "type": "http",
        "url": "https://mcp.upfirst.ai"
    }
}

Upfirst is an AI phone receptionist for small businesses. Review call transcripts, then fix the greeting, knowledge, and transfer rules from your AI client.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.