CallChatSyn MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CallChatSyn MCP ServerDo you have any open appointments this week, and can you book one for me?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CallChatSyn MCP server
Let an AI assistant (Claude, Cursor, any MCP client) answer customer questions and book appointments for a small business, using that business's own FAQs and opening hours on CallChatSyn.
Free for the first 1,000 businesses (founder offer: 100 API calls a day, 2,000 a month).
Tools
Tool | What it does |
| Answers from the business's FAQs and order data (English/Chinese); flags booking and "talk to a person" requests |
| Next open appointment times in the business's time zone, plus services and locations |
| Books one of those times (only offered times; the business is notified) |
Related MCP server: G-Guest MCP server
Setup
Create a CallChatSyn account, add FAQs and opening hours, then Dashboard → Developers → claim founder access → create an API key.
Add to your MCP client config:
{
"mcpServers": {
"callchatsyn": {
"command": "npx",
"args": ["-y", "github:oneappsworld/callchatsyn-mcp"],
"env": { "CALLCHATSYN_API_KEY": "ccs_live_..." }
}
}
}Keep the key private; it acts for one business.
Notes
Answers are rule-based FAQ matching (fast, predictable), not free-form generation.
API docs and OpenAPI spec: https://callchatsyn.com/developers · https://callchatsyn.com/openapi.json
MIT licensed.
Available Tools
3 toolsanswer_customer_questionAnswer a customer questionA
Answer a customer's message using the business's own FAQs and order data (English or Chinese). Returns intent (faq, order_status, appointment, human_handoff), the reply, and matched=false when no FAQ fit.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The customer's message, as written |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose useful behavioral detail beyond structured fields: the intent taxonomy (faq, order_status, appointment, human_handoff) and the matched=false signal when no FAQ fits, which implies an escalation path. However, it never says whether the generated reply is sent to the customer or merely returned for review, nor what permissions or side effects apply — a material ambiguity for a customer-facing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and data sources, then the return contract. Every clause earns its place, and the return-shape detail is warranted because no output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because there is no output schema and no annotations, the description does the heavy lifting well by enumerating the intent values and the matched=false fallback. The remaining gap is whether the reply is dispatched or returned, which leaves the agent unsure about side effects, but overall the description is sufficient to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema coverage is 100%, so the schema already documents 'message' fully. The description adds only the language hint (English or Chinese) relevant to the message, which is marginal value. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (answer) and resource (a customer's message) and names the knowledge sources used (FAQs, order data), which distinguishes it from the booking-oriented siblings list_open_times and book_appointment without naming them. It stops short of an explicit 'not for booking' statement, so differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'answer a customer's message', and the parenthetical '(English or Chinese)' hints at the input language scope. There is no explicit when-to-use or when-not guidance, and no sibling alternatives are named, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
book_appointmentBook an appointmentA
Book one of the open times from list_open_times. Needs the exact 'start' value, a service, and the customer's email or phone. Confirm details with the customer before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| No | |||
| phone | No | ||
| start | Yes | A 'start' value returned by list_open_times | |
| remarks | No | ||
| service | Yes | One of the business's services |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about whether the call is idempotent, what happens on a failed/duplicate booking, confirmations sent, required permissions, or what success returns. For a mutating booking operation with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and its data source, no repetition or filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the core flow (get times, pass start+service+contact, confirm first), which is the minimum an agent needs. But for a 6-parameter mutation tool with no annotations and no output schema, it omits failure/duplicate handling, permission or confirmation behavior, and the role of name/remarks, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%, so the schema documents only 'start' and 'service'. The description does add value: it names the expected inputs (start/service/email or phone) and clarifies the email-or-phone alternative. But it leaves 'name' and 'remarks' completely undocumented and does not resolve the required-params ambiguity (schema marks only start and service required, while the description implies contact info is needed).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Book ... an appointment') and explicitly ties it to a sibling tool ('one of the open times from list_open_times'), which differentiates it from that sibling. It does not differentiate from answer_customer_question, but that sibling is clearly unrelated, so the differentiation need is lower.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear prerequisite: the 'start' value must come from list_open_times. It also adds a workflow instruction ('Confirm details with the customer before calling'), which is real usage guidance. It doesn't state when not to use the tool or address conflicts (e.g., what if the slot is taken), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_open_timesList open appointment timesB
List the next open appointment times (labels in the business's time zone), plus its services and locations.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Label language |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully states that labels are in the business's time zone and that the response also includes services and locations, but says nothing about how many times are returned, pagination, ordering, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb leading and no filler. Every clause (time zone, services, locations) carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one fully documented parameter, the description covers the essentials, including the return contents, which matters since no output schema exists. Only pagination/volume behavior is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional 'lang' enum is fully documented in the schema ('Label language'). The description's mention of 'labels' adds only marginal, indirect context, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('open appointment times') and even notes the label time zone and bundled services/locations. It clearly separates itself from book_appointment, though it never explicitly contrasts with the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the natural companion tool book_appointment. The availability-checking intent is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
answer_customer_question - First observed
book_appointment - First observed
list_open_times
TDQS
Scored across 3 tools
The three tools have distinct core purposes: answering informational queries, listing available times, and booking appointments. However, answer_customer_question returns an 'appointment' intent that might tempt an agent to use it for scheduling queries instead of list_open_times, creating a mild boundary overlap.
All tool names use snake_case and follow a verb-first pattern (answer_customer_question, list_open_times, book_appointment). The convention is consistent and predictable.
Three tools are well-scoped for a focused customer chat and appointment booking server; each tool serves a clear, non-redundant role and the set avoids bloat.
The surface covers answering FAQs/orders and booking appointments, but lacks tools for canceling or rescheduling appointments and for actually performing a human handoff. These are notable gaps for a customer service lifecycle.
Maintenance
Related MCP Connectors
Verified local businesses, bookable by AI agents: services, prices, availability and appointments.
Agentic CRM for service businesses — bookings, customers, WhatsApp, loyalty, invoicing.
- FitnitoOAuthcom.fitnito
Schedule, members, and bookings in your AI tools
AI phone receptionist for small businesses: read calls, leads and booked appointments.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceExposes SMB business data as tools for AI agents, enabling retrieval of business profiles, services, availability, and reviews.-
- AlicenseAqualityAmaintenanceBook a table, an appointment or a place in a class at a real local business. Live availability, instant confirmation, no account and no API key. Eight tools: search, fetch, get_business, check_availability, create_booking, check_booking, cancel_booking and request_listing. Guest emails in eight languages. Hosted at https://g-guest.app/api/mcp814 npmMIT
- AlicenseAqualityAmaintenanceEnables small-business AI assistants to answer customer questions about hours, offerings, FAQs, staff, and booking from a single business.yaml config, with industry-specific tools and guardrails.267 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables voice-driven appointment booking for small businesses, letting customers check availability, book, reschedule, and cancel appointments through any MCP client.1 npmMIT