MCP server for S.C.A.L.A. AI OS — run your entire business from Claude. CRM, invoicing, bookings, AI assistant, 20 industry verticals, 250M+ company database.
The server defines 33 tools across 8 modules with reasonable naming and schemas. Strengths: consistent verb-first naming (search_, lookup_, create_, list_, etc.), complete JSON Schema input definitions for all tools, and generally adequate tool descriptions (100-250 chars). Weaknesses: parameter descriptions are sparse or missing entirely on many tools (e.g., 'vertical' enum in vertical_kpis has no description text beyond the enum definition); output schemas are not documented anywhere (what fields does lookup_company return?); error handling guidance is absent, tools return errors but do not guide recovery; many parameters lack validation guidance (e.g., 'limit' has no min/max stated, even though the description hints at ranges); no tool annotations (readOnlyHint, destructiveHint) despite clear risk classifications. The verticals and workflows sections have highly generic schemas with additionalProperties:true, which provides no guidance to LLMs about expected structure.
Cancel an existing booking by its ID.
Create a new booking/appointment. Sends confirmation email to the customer in their language (IT/EN/DE/FR/ES).
Get available booking slots for a business. Returns time slots that can be booked by customers.
Check your remaining API credits, plan, and reset date.
Generate a company health report. Types: basic (5 credits), pro (10), enterprise (20).
Get the full activity timeline for a contact: calls, emails, meetings, notes, deals.
No output schemas documented. All 33 tools lack explicit documentation of what fields the response contains (e.g., lookup_company description says 'Returns revenue, employees, health score...' but no schema). LLMs cannot plan downstream tool calls or extract the right data without knowing response structure. This violates pattern:tool and pattern:response-shaper.
Parameter descriptions missing or too generic. Many parameters have no description text at all (e.g., 'vertical' in vertical_kpis is just an enum with no explanation of what the enum values represent or when to use each). Parameters like 'limit', 'months', 'period' lack min/max constraints in their descriptions. This violates pattern:tool-description and pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Create a new CRM contact with name, email, phone, company, and tags.
List CRM contacts with optional search. Returns name, email, phone, company, deal stage (lead/qualified/proposal/won/lost), score, and tags.
Get the CRM pipeline view — contacts grouped by stage with counts and deal values.
Update an existing CRM contact by ID. Any field can be updated.
Get S.C.A.L.A. Score database statistics: total companies, countries, last update.
Get cash flow data with inflows, outflows, and net cash by period. Useful for forecasting and trend analysis.
Get your business financial health score (0-100) with breakdown: liquidity, profitability, receivables aging, and burn rate.
Get a financial overview: revenue, expenses, profit, outstanding invoices, cash position, and month-over-month trends.
Create a new invoice. Supports multiple providers: FattureInCloud (IT), Stripe, Xero, QuickBooks, Holded, or local fallback.
Get the PDF download URL for an invoice.
List invoices with optional filters. Returns invoice number, customer, amount, currency, status (draft/open/paid/overdue/void), and dates.
Send an invoice to the customer by email.
List all countries available in the database with company counts.
Get detailed company profile by ID or VAT number. Returns revenue, employees, health score, NACE classification, legal form, incorporation date, contacts.
Get active SARA alerts — important notifications about your business (low inventory, overdue invoices, missed bookings, etc.).
Send a message to SARA, the AI business assistant. SARA can answer questions about your business, customers, bookings, inventory, and more. She has context about your entire SCALA workspace.
List recent SARA conversations with message counts and last activity.
Get SARA's business insights — AI-generated analysis of trends, anomalies, and actionable recommendations based on your business data.
Get SARA's proactive suggestions — things SARA thinks you should act on based on patterns she detected in your data.
Search 250M+ companies worldwide by name, VAT number, or keyword. Filter by country (ISO 2-letter), NACE industry code, and status.
Check which vertical modules are active for the current account.
Create a record in any vertical table. Pass the table name and the fields as data.
Get KPIs for a specific vertical module. Each vertical has domain-specific metrics: DineOS (covers, avg ticket, food cost), PropertyOS (listings, commissions), MotorOS (inventory, test drives, trade-ins), StudioOS (projects, billable hours), etc.
List records from any vertical table. Examples: dineos menu items, motoros vehicles, propertyos listings, beautyos appointments, travelos itineraries.
List all automation workflows with their status (active/paused), trigger type, last run, and success rate.
Manually execute a workflow by ID. Returns the run result and logs.
Get workflow statistics: total runs, success rate, avg duration, errors.
Highly generic schemas with additionalProperties:true provide no guidance. vertical_create_record, workflow_run, and vertical_list_data accept arbitrary objects (data, input properties) with no structure hints. LLMs cannot know what fields are valid or required, invitations for invalid payloads and failed calls.
No tool annotations despite explicit risk classification in spec. Tools are tagged as READ_ONLY, WRITE, or DESTRUCTIVE (e.g., booking_cancel), but none declare readOnlyHint, destructiveHint, or idempotentHint in their schema. LLMs cannot distinguish safe vs risky calls without annotations. Current spec (2026-07-28) expects toolAnnotations.
No error handling guidance. Tools return error responses but do not guide recovery. E.g., 'Unknown tool' or API errors are raw strings with no retry classification or next-step suggestion. Violates pattern:recovery-guide and pattern:error-classification.
Parameter validation constraints not documented in descriptions. 'limit' appears in multiple tools (crm_list_contacts, invoice_list, sara_conversations) with hints like '(default 20)' but no explicit min/max. 'query' in search_companies has no length or character restriction guidance. This violates pattern:constrained-input.
Some tool names slightly ambiguous without strong context. 'sara_chat' could imply a messaging feature, but the description clarifies it sends a query to an AI assistant. 'vertical_list_data' is generic, does it list records from a specific table or all tables? Names could be more explicit (e.g., send_message_to_sara, list_vertical_table_records).
No pagination guidance for list tools. crm_list_contacts, invoice_list, vertical_list_data all accept a 'limit' but do not mention cursor, offset, or next_token for pagination. If a user has 10k contacts, how does the agent iterate? Violates pattern:paginated-result.
Multi-step workflows not composed into single tools. Creating an invoice (invoice_create) and sending it (invoice_send) are two separate calls, common agents will want to do both together. Similarly, creating a contact (crm_create_contact) followed by adding notes or tagging may require multiple calls. Consider batch/composite variants.