Skip to main content
Glama
Alessandro114

scala-mcp-server


An MCP server that turns Claude into a full business operating system. Manage your CRM, send invoices, book appointments, chat with your AI assistant, run workflows, and search 250M+ companies — all without leaving your AI conversation.

Quick Start

npx -y scala-mcp-server

One command. Set your API key and go:

SCALA_API_KEY=your-key npx -y scala-mcp-server

Get a free API key at app.get-scala.com — 14-day trial, no credit card.


Related MCP server: sk-registers-mcp

What You Can Do

CRM & Sales Pipeline

"Show my sales pipeline" "Create a contact for Maria Rossi at Ferrero" "Move the Johnson deal to 'proposal' stage" "Show the timeline for contact abc-123"

Bookings & Appointments

"What slots are available tomorrow at 2pm?" "Book a consultation for Marco next Thursday at 10am" "Cancel booking #456"

Invoicing

"List all overdue invoices" "Create an invoice for the Q3 consulting work — EUR 4,500" "Send invoice #789 to the client"

SARA AI Assistant

"Ask SARA what happened with customer complaints this week" "Show me SARA's business insights" "What alerts does SARA have for me?"

Financial Analytics

"What's my business health score?" "Show cash flow for the last 6 months" "Give me a financial summary"

20 Industry Verticals

"Show restaurant KPIs — covers, avg ticket, food cost" "List all vehicles in the dealership inventory" "What are this month's real estate commissions?" "Show studio project milestones"

Company Intelligence (250M+ companies)

"Find the top 10 SaaS companies in Germany" "Look up Ferrero's financial health" "Compare construction companies in Milan vs Munich" "Generate a due diligence report on company XYZ"

Workflow Automation

"List all active workflows" "Run the weekly report workflow" "Show workflow success rates"


Setup

npx @smithery/cli mcp add Alessandro114/scala-mcp-server --config '{"scalaApiKey":"your-key"}'

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "scala": {
      "command": "npx",
      "args": ["-y", "scala-mcp-server"],
      "env": {
        "SCALA_API_KEY": "your-api-key"
      }
    }
  }
}
{
  "mcpServers": {
    "scala": {
      "command": "npx",
      "args": ["-y", "scala-mcp-server"],
      "env": {
        "SCALA_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

claude mcp add scala -e SCALA_API_KEY=your-key -- npx -y scala-mcp-server

Any MCP Client

SCALA_API_KEY=your-key npx -y scala-mcp-server

Tools (33)

Company Intelligence

Tool

Description

Credits

search_companies

Search 250M+ companies by name, VAT, keyword

1

lookup_company

Full company profile by ID or VAT

1

company_report

Health report (basic/pro/enterprise)

5-20

database_stats

Database statistics

0

list_countries

Countries with company counts

0

check_credits

API credits and plan info

0

CRM

Tool

Description

crm_list_contacts

List/search contacts with pipeline stage filter

crm_create_contact

Create contact with name, email, company, tags

crm_update_contact

Update any contact field

crm_pipeline

Pipeline view grouped by stage

crm_contact_timeline

Full activity timeline for a contact

Bookings

Tool

Description

booking_get_slots

Available time slots for a business

booking_create

Create booking with auto-confirmation email

booking_cancel

Cancel a booking

Invoicing

Tool

Description

invoice_list

List invoices with status filter

invoice_create

Create invoice (multi-provider)

invoice_send

Email invoice to customer

invoice_get_pdf

Get invoice PDF

SARA AI

Tool

Description

sara_chat

Chat with SARA about your business

sara_conversations

List conversation history

sara_insights

AI-generated business insights

sara_alerts

Active business alerts

sara_proactive

Proactive AI suggestions

Finance

Tool

Description

finance_summary

Revenue, expenses, profit overview

finance_health_score

Business health score (0-100)

finance_cash_flow

Cash flow by period

Industry Verticals (19)

Tool

Description

vertical_kpis

KPIs for any vertical (DineOS, PropertyOS, etc.)

vertical_list_data

List records from any vertical table

vertical_create_record

Create records in any vertical

vertical_access

Check active modules

Workflows

Tool

Description

workflow_list

List automation workflows

workflow_run

Execute a workflow

workflow_stats

Workflow statistics


Resources

The server exposes static resources that Claude can read for context:

Resource

URI

Description

Pricing

scala://pricing

Current plans, enterprise tiers, add-ons

Verticals

scala://verticals

All 20 industry modules with features

Capabilities

scala://capabilities

Full platform feature list


Prompts

Pre-built prompt templates for common workflows:

Prompt

Description

enterprise_pitch

Generate a tailored enterprise pitch

business_analysis

Comprehensive business intelligence report

onboarding_guide

Personalized onboarding checklist


Supported Verticals

Module

Industry

DineOS

Restaurants & F&B

PropertyOS

Real Estate

AgencyOS

Marketing Agencies

MotorOS

Car Dealerships

TravelOS

Travel Agencies

StudioOS

Architecture & Engineering

BeautyOS

Beauty & Wellness

CleanOS

Cleaning & Facility Management

ShopOS

Retail

WellnessOS

Fitness & Wellness

DermalyOS

Dermatology & Medical

ServiceOS

Field Services

ProjectOS

Project Management

NetworkOS

MLM & Referral

PraxisOS

Medical Practices

TrichoOS

Hair & Trichology

ReputationOS

Reputation Management

AdOS

Advertising

LandIQ

Real Estate Development


Architecture

Your AI  <-->  MCP Protocol  <-->  scala-mcp-server  <-->  S.C.A.L.A. API
                                        |
                              33 tools + 3 resources + 3 prompts
                                        |
                    CRM - Invoicing - Bookings - SARA AI - Finance
                    Workflows - 20 Verticals - 250M+ Companies

Ecosystem

Claude Plugin Skills

The server includes 5 pre-built skills for Claude Code (in skills/):

Skill

What it does

/scala:daily-briefing

Morning briefing — alerts, invoices, pipeline, KPIs, AI suggestions

/scala:business-health

Health score + cash flow + recommendations

/scala:competitor-intel

Competitor research from 250M+ companies

/scala:prospect-research

Pre-meeting company deep dive + talking points

/scala:invoice-chase

Overdue invoices grouped 30/60/90+ days + send reminders

Development

git clone https://github.com/Alessandro114/scala-mcp-server.git
cd scala-mcp-server
npm install
npm run dev    # Run with tsx (hot reload)
npm run build  # Compile TypeScript

License

MIT — Copyright (c) 2026 Alessandro Binda / S.C.A.L.A. AI OS

Available Tools

6 tools
check_creditsA

Check your remaining API credits, current plan, and reset date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes read-only behavior but lacks details on authentication, rate limits, or any side effects. With no annotations, description carries full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 10 words, front-loaded with action and resource. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Explains return items (credits, plan, reset date) despite lacking output schema. Could add more detail but sufficient for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so description adds meaning by specifying what is checked (credits, plan, reset date). Baseline 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (check) and the resource (credits, plan, reset date). Distinct from sibling tools like company_report or database_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly indicates use when needing credit information. No explicit when-not or alternatives, but siblings are clearly different functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_reportA

Generate a detailed company health report. Available types: basic (overview, 5 credits), pro (financial analysis, 10 credits), enterprise (full due diligence, 20 credits).

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYesCompany ID to generate report for
typeNoReport type (default: basic)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden for behavioral disclosure. It reveals that different report types consume credits (5, 10, 20), which is useful. However, it does not mention permissions, whether the report is cached, or any side effects beyond credit usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded with the action and then detail the options. Every word earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should compensate by describing the report structure. It lists types but does not explain what data each type returns. For a report generation tool, this is a meaningful gap, but the credit cost info partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by specifying credit costs for each enum value of the `type` parameter, which is not present in the schema. This helps the agent understand the trade-offs between report types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate a detailed company health report', which is a specific verb+resource. It distinguishes from siblings like `lookup_company` and `search_companies` by focusing on report generation, but does not explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use each report type based on credit costs and depth (basic, pro, enterprise), but does not offer guidance on when to choose this tool over alternatives like `lookup_company` or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

database_statsA

Get S.C.A.L.A. Score database statistics: total companies, countries covered, last update date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only mentions output fields but does not disclose read-only nature, authorization needs, rate limits, or other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, front-loaded with the action 'Get' and lists key statistics efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a parameterless tool with no output schema. Describes what the user gets, though could mention data source or refresh frequency for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so schema coverage is 100% by default. Description adds value by specifying output fields (total companies, countries, last update), beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves database statistics (total companies, countries covered, last update date), distinguishing it from sibling tools like lookup_company or search_companies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when or when not to use. Usage is implied as a general overview tool, but alternatives like check_credits or list_countries are not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_countriesA

List all countries available in the database with company counts per country.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description indicates a read-only operation but doesn't disclose any behavioral traits like performance, ordering, or pagination. Adequate for a simple list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no waste, front-loaded with verb. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description hints at output (company counts) but lacks details on format, ordering, or examples. With no output schema, more output description would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero parameters, so description doesn't need to add parameter info. Baseline score of 4 applies due to high schema coverage and no parameter details needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists all countries with company counts, using specific verb and resource. It distinguishes from sibling tools like lookup_company which target individual companies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when or when-not guidance provided. Context implies it's for getting an overview, but no comparison to alternatives like database_stats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_companyA

Get detailed company information by ID or VAT number. Returns full company profile: legal name, address, revenue, employees, health score, NACE classification, legal form, incorporation date, website, phone, email.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYesCompany ID or VAT number (e.g. IT02727330014)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden. It discloses that the tool reads and returns a detailed profile, but does not mention error handling or authentication requirements. However, for a simple lookup, it is sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose and lists return fields without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description provides enough context on what the tool returns. It could mention error behavior, but overall it is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's description of the parameter as 'Company ID or VAT number'. It is consistent but not more helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'detailed company information' by ID or VAT number. It lists the returned fields, distinguishing it from siblings like search_companies or check_credits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a specific company ID or VAT number is available, but it does not explicitly state when to use this tool versus alternatives like search_companies or company_report.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_companiesA

Search 244M+ companies worldwide by name, VAT number, or keyword. Filter by country (ISO 2-letter code), NACE industry code, and active/inactive status. Returns company name, address, revenue, employees, health score, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesCompany name, VAT number, or keyword to search
countryNoISO 2-letter country code (e.g. IT, DE, FR, US, GB)
naceNoNACE industry code (e.g. 56.10 for restaurants, 62.01 for software)
statusNoFilter by company status
limitNoMax results (1-100, default 10)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It mentions it is a search operation returning data but does not discuss rate limits, pagination, or idempotency. Lack of behavioral details beyond basic read nature lowers score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, efficient, front-loaded with purpose. No redundant or verbose text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no output schema, description covers basic functionality but omits pagination behavior, result format, and details on 'and more' fields. Incomplete for full agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds little beyond what schema provides. It lists parameter categories but no additional constraints or examples. Baseline at 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses strong action verb 'Search' and specifies resource 'companies', adding scope '244M+ worldwide'. It lists searchable criteria and return fields, clearly distinguishing from sibling tools like lookup_company (which likely retrieves by ID).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description does not provide explicit guidance on when to use this tool over siblings like lookup_company or company_report. Usage context is implied from the word 'Search' but no when-not-to or alternative recommendations.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedcheck_credits
    • First observedcompany_report
    • First observeddatabase_stats
    • First observedlist_countries
    • First observedlookup_company
    • First observedsearch_companies

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: credits check, report generation, database stats, country listing, company lookup, and company search. There is no overlap or ambiguity.

Naming Consistency3/5

Most tools follow a verb_noun pattern (list_countries, lookup_company, search_companies, check_credits), but company_report and database_stats are noun_noun, creating inconsistency.

Tool Count5/5

With 6 tools, the set is well-scoped for a company database service. Each tool covers an essential operation without being overly numerous or sparse.

Completeness5/5

The tool set covers all core interactions: search, detailed lookup, country filtering, database statistics, report generation, and account management. No obvious gaps for a read-oriented data provider.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Nordic company registries. Verify companies, check board members, signing authority, and financial data across Norway, Denmark, Finland, and Sweden using official public APIs. 23 tools covering search, details, roles, and batch lookups.
    19
    8
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Slovak business registers (RPO) — AI agents can query 1.4M+ Slovak legal entities via Slovakia's official Statistical Office API. Search companies by name, IČO, or get full entity details including legal form, address, and statutory representatives.
    2
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for EU company and business data. 9 tools: company search (GLEIF, 2M+ entities), LEI lookup, corporate structures (parent/subsidiaries), trade register search, EU VAT validation (VIES), GDP, unemployment, inflation, and business demography (Eurostat). All APIs free, no keys required.
    9
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Pubrio — the glocalized business data layer for AI agents. 50 tools to search companies, people, jobs, news & ads, enrich records, reveal contacts, manage signal monitors, and access reference data from around the globe.
    51
    46
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alessandro114/scala-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server