CentralStationCRM MCP by usefulapi

Read CentralStationCRM people, companies, deals, tasks; create and update people, companies, deals.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
92%
Naming quality
72%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (14)

  • LOWTool 'centralstationcrm_get_current_user' name length outside 3-30 rangein centralstationcrm_get_current_user
  • LOWTool 'centralstationcrm_search_people' name length outside 3-30 rangein centralstationcrm_search_people
  • LOWTool 'centralstationcrm_list_companies' name length outside 3-30 rangein centralstationcrm_list_companies
  • LOWTool 'centralstationcrm_search_companies' name length outside 3-30 rangein centralstationcrm_search_companies
  • LOWTool 'centralstationcrm_get_deal_stats' name length outside 3-30 rangein centralstationcrm_get_deal_stats
  • LOWTool 'centralstationcrm_list_deal_types' name length outside 3-30 rangein centralstationcrm_list_deal_types
  • LOWTool 'centralstationcrm_list_projects' name length outside 3-30 rangein centralstationcrm_list_projects
  • LOWTool 'centralstationcrm_search_projects' name length outside 3-30 rangein centralstationcrm_search_projects
  • LOWTool 'centralstationcrm_list_calendar_events' name length outside 3-30 rangein centralstationcrm_list_calendar_events
  • LOWTool 'centralstationcrm_count_records' name length outside 3-30 rangein centralstationcrm_count_records

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~8,362Tokens (tool definitions)
~2.1 KBTypical response size
Significant attention impact (6.53% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "centralstationcrm": {
      "url": "https://centralstationcrm.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://centralstationcrm.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (33)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢centralstationcrm_get_current_user

The CentralStationCRM user this API key belongs to: id, name, login email, the account (subdomain) it is signed in to, timezone. Use the user id to assign records or tasks. GET /user.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_users(active, page, perpage)

List the users of the CentralStationCRM account (id, name, email). Use the ids for responsible-user filters and for assigning records. GET /users.

Input Schema

{
  "type": "object",
  "properties": {
    "active": {
      "description": "Only currently active users.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_people(order, tag_name, includes, page, perpage)

List contact people. Optionally filter by tag and order by name, creation or last update. Use search_people to find a person by name, email or phone. GET /people.

Input Schema

{
  "type": "object",
  "properties": {
    "order": {
      "description": "Ordering (abc = by name, new = creation date, update = last change).",
      "type": "string",
      "enum": [
        "abc-asc",
        "abc-desc",
        "new-asc",
        "new-desc",
        "update-asc",
        "update-desc"
      ]
    },
    "tag_name": {
      "description": "Only people with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positions",
          "companies",
          "deals",
          "projects",
          "tags",
          "tasks",
          "tels",
          "emails",
          "homepages",
          "addrs"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_search_people(name, first_name, email, phone, includes, ...)

Find people by last name, first name, email address or phone number (email and phone cannot be combined). Give at least one criterion. GET /people/search.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Last name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "first_name": {
      "description": "First name (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "email": {
      "description": "Email address (not combinable with phone).",
      "type": "string",
      "minLength": 1,
      "maxLength": 320
    },
    "phone": {
      "description": "Phone number (not combinable with email).",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positions",
          "companies",
          "deals",
          "projects",
          "tags",
          "tasks",
          "tels",
          "emails",
          "homepages",
          "addrs"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_person(person_id, includes)

One person by id, optionally with related records (companies, deals, tags, tasks, email addresses, phone numbers, addresses). GET /people/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM person id."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positions",
          "companies",
          "deals",
          "projects",
          "tags",
          "tasks",
          "tels",
          "emails",
          "homepages",
          "addrs"
        ]
      }
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_companies(order, tag_name, includes, page, perpage)

List companies. Optionally filter by tag and order by name, creation or last update. Use search_companies to find one by name. GET /companies.

Input Schema

{
  "type": "object",
  "properties": {
    "order": {
      "description": "Ordering (abc = by name, new = creation date, update = last change).",
      "type": "string",
      "enum": [
        "abc-asc",
        "abc-desc",
        "new-asc",
        "new-desc",
        "update-asc",
        "update-desc"
      ]
    },
    "tag_name": {
      "description": "Only companies with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positions",
          "deals",
          "projects",
          "tags",
          "tasks",
          "tels",
          "emails",
          "homepages",
          "addrs",
          "connections"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_search_companies(name, includes, page, perpage)

Find companies by name. GET /companies/search.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Company name (or part of it)."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positions",
          "deals",
          "projects",
          "tags",
          "tasks",
          "tels",
          "emails",
          "homepages",
          "addrs",
          "connections"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_company(company_id, includes)

One company by id, optionally with related records (people, deals, tags, tasks, contact details, addresses). GET /companies/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM company id."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positions",
          "deals",
          "projects",
          "tags",
          "tasks",
          "tels",
          "emails",
          "homepages",
          "addrs",
          "connections"
        ]
      }
    }
  },
  "required": [
    "company_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_deals(company_id, user_id, deal_type_id, current_state, tag_name, ...)

List deals (sales opportunities) with value, state (open_0/25/50/75, won, lost), pipeline and stage ids, target date. Filter by company, responsible user, pipeline or state; order by date, value, state or name. GET /deals.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "description": "Only deals of this company.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "user_id": {
      "description": "Only deals of this responsible user.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "deal_type_id": {
      "description": "Only deals in this pipeline (see list_deal_types).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "current_state": {
      "description": "Only deals in this state.",
      "type": "string",
      "enum": [
        "open_0",
        "open_25",
        "open_50",
        "open_75",
        "won",
        "lost"
      ]
    },
    "tag_name": {
      "description": "Only deals with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "order": {
      "description": "Ordering.",
      "type": "string",
      "enum": [
        "date-asc",
        "date-desc",
        "new-asc",
        "new-desc",
        "update-asc",
        "update-desc",
        "value-asc",
        "value-desc",
        "state-asc",
        "state-desc",
        "abc-asc",
        "abc-desc"
      ]
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tags",
          "people",
          "company",
          "tasks",
          "pending_tasks",
          "cal_events"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_search_deals(name, includes, page, perpage)

Find deals by name. GET /deals/search.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Deal name (or part of it)."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tags",
          "people",
          "company",
          "tasks",
          "pending_tasks",
          "cal_events"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_deal(deal_id, includes)

One deal by id, optionally with its tags, people, company, tasks and calendar events. GET /deals/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "deal_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM deal id."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tags",
          "people",
          "company",
          "tasks",
          "pending_tasks",
          "cal_events"
        ]
      }
    }
  },
  "required": [
    "deal_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_deal_stats(tag_name)

Number and total value of all deals (optionally only those with a tag), with the account currency. GET /deals/stats.

Input Schema

{
  "type": "object",
  "properties": {
    "tag_name": {
      "description": "Only deals with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_deal_types

List the deal types (pipelines) with their stages. Use the ids (and stage ids) to create deals and to move them between stages. GET /deal_types.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_projects(tag_name, order, includes, page, perpage)

List projects with state, target date and company. Filter by tag; order by date, state or name. GET /projects.

Input Schema

{
  "type": "object",
  "properties": {
    "tag_name": {
      "description": "Only projects with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "order": {
      "description": "Ordering.",
      "type": "string",
      "enum": [
        "date-asc",
        "date-desc",
        "new-asc",
        "new-desc",
        "update-asc",
        "update-desc",
        "state-asc",
        "state-desc",
        "abc-asc",
        "abc-desc"
      ]
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tags",
          "people",
          "company",
          "tasks",
          "pending_tasks",
          "cal_events"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_search_projects(name, includes, page, perpage)

Find projects by name. GET /projects/search.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Project name (or part of it)."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tags",
          "people",
          "company",
          "tasks",
          "pending_tasks",
          "cal_events"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_project(project_id, includes)

One project by id, optionally with its tags, people, company, tasks and calendar events. GET /projects/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM project id."
    },
    "includes": {
      "description": "Related records to embed (an extra call is not needed for them).",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tags",
          "people",
          "company",
          "tasks",
          "pending_tasks",
          "cal_events"
        ]
      }
    }
  },
  "required": [
    "project_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_tasks(state, after, before, user_id, order, ...)

List tasks (to-dos, calls, emails, visits) of the account. Filter by open/closed state, due-date range and responsible user. GET /tasks.

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "description": "Only open or only closed tasks.",
      "type": "string",
      "enum": [
        "open",
        "closed"
      ]
    },
    "after": {
      "description": "Only tasks after this date.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "before": {
      "description": "Only tasks before this date.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "user_id": {
      "description": "Only tasks of this user.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order": {
      "description": "Ordering by id.",
      "type": "string",
      "enum": [
        "id-asc",
        "id-desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_task(task_id)

One task by id. GET /tasks/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM task id."
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_notes(person_id, company_id, deal_id, project_id, order, ...)

List protocols: notes, logged emails and other history entries. Filter by the person, company, deal or project they belong to. GET /protocols.

Input Schema

{
  "type": "object",
  "properties": {
    "person_id": {
      "description": "Only entries of this person.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "company_id": {
      "description": "Only entries of this company.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "deal_id": {
      "description": "Only entries of this deal.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "project_id": {
      "description": "Only entries of this project.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order": {
      "description": "Ordering by id (id-desc = newest first).",
      "type": "string",
      "enum": [
        "id-asc",
        "id-desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_get_note(note_id)

One note / history entry by id. GET /protocols/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "note_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM protocol (note) id."
    }
  },
  "required": [
    "note_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_calendar_events(state, after, before, order, page, ...)

List calendar events (appointments, meetings) of the account. Filter by upcoming/old and date range. GET /cal_events.

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "description": "Only upcoming or only past events.",
      "type": "string",
      "enum": [
        "upcoming",
        "old"
      ]
    },
    "after": {
      "description": "Only events after this date.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "before": {
      "description": "Only events before this date.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "order": {
      "description": "Ordering by id.",
      "type": "string",
      "enum": [
        "id-asc",
        "id-desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_search_all(term)

Full-text search across people, companies, deals and projects for a term. GET /search.

Input Schema

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search term."
    }
  },
  "required": [
    "term"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_list_tags(page, perpage)

List all tag names used in the account. GET /tags/list.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perpage": {
      "description": "Results per page, 1-250 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢centralstationcrm_count_records(resource, tag_name)

Total number of people, companies, deals or projects (optionally only those with a tag). GET /<resource>/count.

Input Schema

{
  "type": "object",
  "properties": {
    "resource": {
      "type": "string",
      "enum": [
        "people",
        "companies",
        "deals",
        "projects"
      ],
      "description": "Which records to count."
    },
    "tag_name": {
      "description": "Only records with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "resource"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡centralstationcrm_create_person(name, first_name, salutation, title, country_code, ...)

WRITE: create a contact person (last name required), optionally with email addresses and phone numbers. Nothing is sent to the contact. POST /people.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Last name (max 80)."
    },
    "first_name": {
      "description": "First name (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "salutation": {
      "description": "Free-text salutation (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "title": {
      "description": "Title, e.g. Dr. (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "country_code": {
      "description": "Language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code).",
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "background": {
      "description": "Background notes about the person.",
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "user_id": {
      "description": "Responsible user id (default: the API user).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "emails": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "office",
              "private",
              "other"
            ],
            "description": "Kind of address."
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 250,
            "description": "Email address."
          }
        },
        "required": [
          "type",
          "value"
        ]
      }
    },
    "phones": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "office",
              "office_hq",
              "mobile",
              "fax",
              "private",
              "other"
            ],
            "description": "Kind of number."
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "Phone number."
          }
        },
        "required": [
          "type",
          "value"
        ]
      }
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴centralstationcrm_update_person(person_id, name, first_name, salutation, title, ...)

WRITE: change fields of a person. Only the fields you give are sent; the rest stays. PUT /people/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM person id."
    },
    "name": {
      "description": "New last name (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "first_name": {
      "description": "New first name (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "salutation": {
      "description": "New salutation (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "title": {
      "description": "New title (max 80).",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "country_code": {
      "description": "New language of the person as a 2-letter ISO 639-1 code, e.g. de or en (the vendor field is called country_code).",
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    },
    "background": {
      "description": "New background notes (replaces the old text).",
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "user_id": {
      "description": "New responsible user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡centralstationcrm_create_company(name, background, user_id)

WRITE: create a company. Nothing is sent to the contact. POST /companies.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Company name (max 120)."
    },
    "background": {
      "description": "Background notes about the company.",
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "user_id": {
      "description": "Responsible user id (default: the API user).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴centralstationcrm_update_company(company_id, name, background, user_id)

WRITE: change fields of a company. Only the fields you give are sent. PUT /companies/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM company id."
    },
    "name": {
      "description": "New company name (max 120).",
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "background": {
      "description": "New background notes (replaces the old text).",
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "user_id": {
      "description": "New responsible user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "company_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡centralstationcrm_create_deal(name, value, value_type, currency, deal_type_id, ...)

WRITE: create a deal (sales opportunity). Use list_deal_types for pipeline and stage ids. Pipelines with a monetary value or target date need value and target_date (value_type defaults to total); the vendor says what is missing. Nothing is sent to the contact. POST /deals.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Deal name (max 120)."
    },
    "value": {
      "description": "Monetary value (with value_type total: the full amount).",
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "value_type": {
      "description": "How the value is billed (default total).",
      "type": "string",
      "enum": [
        "total",
        "monthly",
        "hourly",
        "daily"
      ]
    },
    "currency": {
      "description": "Currency (account default if omitted).",
      "type": "string",
      "enum": [
        "EUR",
        "CHF",
        "USD"
      ]
    },
    "deal_type_id": {
      "description": "Pipeline id (see list_deal_types).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "deal_type_stage_id": {
      "description": "Stage id within the pipeline.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "probability": {
      "description": "Probability of winning, percent.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "target_date": {
      "description": "Date the deal shall be won.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "background": {
      "description": "Details about the deal.",
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "user_id": {
      "description": "Responsible user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "company_id": {
      "description": "Company the deal belongs to.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴centralstationcrm_update_deal(deal_id, name, current_state, value, value_type, ...)

WRITE: change fields of a deal, for example move it to another stage or set its state to won or lost. Only the fields you give are sent. PUT /deals/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "deal_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM deal id."
    },
    "name": {
      "description": "New deal name (max 120).",
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "current_state": {
      "description": "New state: open_0/25/50/75, won or lost.",
      "type": "string",
      "enum": [
        "open_0",
        "open_25",
        "open_50",
        "open_75",
        "won",
        "lost"
      ]
    },
    "value": {
      "description": "Monetary value (with value_type total: the full amount).",
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "value_type": {
      "description": "How the value is billed (default total).",
      "type": "string",
      "enum": [
        "total",
        "monthly",
        "hourly",
        "daily"
      ]
    },
    "currency": {
      "description": "Currency (account default if omitted).",
      "type": "string",
      "enum": [
        "EUR",
        "CHF",
        "USD"
      ]
    },
    "deal_type_id": {
      "description": "Pipeline id (see list_deal_types).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "deal_type_stage_id": {
      "description": "Stage id within the pipeline.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "probability": {
      "description": "Probability of winning, percent.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "target_date": {
      "description": "Date the deal shall be won.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "background": {
      "description": "Details about the deal.",
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "user_id": {
      "description": "Responsible user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "company_id": {
      "description": "Company the deal belongs to.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "deal_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡centralstationcrm_create_task(name, badge, precise_time, fuzzy, user_id, ...)

WRITE: create a task (to-do, call, email, visit...) optionally attached to a person, company or deal and assigned to a user. Nothing is sent to the contact. POST /tasks.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "What has to be done."
    },
    "badge": {
      "description": "Kind of task (default task).",
      "type": "string",
      "enum": [
        "task",
        "call",
        "email",
        "visit",
        "preparation",
        "important"
      ]
    },
    "precise_time": {
      "description": "When it is due.",
      "type": "string"
    },
    "fuzzy": {
      "description": "true = only the day of precise_time matters, not the hour.",
      "type": "boolean"
    },
    "user_id": {
      "description": "User the task is assigned to (default: the user behind the API key).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "attachable_type": {
      "description": "Kind of record the task belongs to (omit for a general task).",
      "type": "string",
      "enum": [
        "Person",
        "Company",
        "Deal"
      ]
    },
    "attachable_id": {
      "description": "Id of that record (required with attachable_type).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴centralstationcrm_update_task(task_id, name, finished, badge, precise_time, ...)

WRITE: change a task, for example mark it done (finished = true), rename it or reschedule it. Only the fields you give are sent. PUT /tasks/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "CentralStationCRM task id."
    },
    "name": {
      "description": "New task text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "finished": {
      "description": "true = mark done, false = reopen.",
      "type": "boolean"
    },
    "badge": {
      "description": "New kind of task.",
      "type": "string",
      "enum": [
        "task",
        "call",
        "email",
        "visit",
        "preparation",
        "important"
      ]
    },
    "precise_time": {
      "description": "New due date-time.",
      "type": "string"
    },
    "fuzzy": {
      "description": "true = only the day of precise_time matters.",
      "type": "boolean"
    },
    "user_id": {
      "description": "New assignee.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡centralstationcrm_create_note(name, content, person_ids, company_ids, deal_ids, ...)

WRITE: add a note to the history of one or more people, companies, deals or projects. Nothing is sent to the contact. POST /protocols.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Note title (max 100 characters)."
    },
    "content": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "Note text (markdown)."
    },
    "person_ids": {
      "description": "People the note belongs to.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "company_ids": {
      "description": "Companies the note belongs to.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "deal_ids": {
      "description": "Deals the note belongs to.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "project_ids": {
      "description": "Projects the note belongs to.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "confidential": {
      "description": "true = visible only to users with at least power-user rights (not only to you).",
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "content"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded33 tools