noCRM.io MCP by usefulapi
Read noCRM.io leads, pipeline steps, comments and client folders; create, update and assign leads.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (4)
- HIGH
- MEDIUMen nocrm_update_lead
- LOWen nocrm_add_lead_to_client_folder
- INFOen nocrm_update_lead
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"nocrm-io": {
"url": "https://nocrm-io.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://nocrm-io.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (24)
🟢nocrm_list_leads(status, steps, user_id, tags, email, ...)
List or search sales leads (noCRM.io's opportunities), newest first by default, with title, pipeline step, status, amount, probability, tags, owner, next reminder and the contact details in the description. Filter by status, step (names or ids, not mixed), owner, tags, email, starred or a date range. Unassigned leads are excluded unless include_unassigned is true. GET /leads.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "Only leads in these statuses (todo = to do, standby = waiting for a reminder date).",
"minItems": 1,
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"enum": [
"todo",
"standby",
"won",
"cancelled",
"lost"
]
}
},
"steps": {
"description": "Only leads in these pipeline steps: exact step names OR step ids (not mixed). See nocrm_list_steps.",
"anyOf": [
{
"minItems": 1,
"maxItems": 30,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
{
"minItems": 1,
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
]
},
"user_id": {
"description": "Only leads owned by this user (id or email).",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
},
"tags": {
"description": "Only leads carrying ALL of these tags.",
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"email": {
"description": "Only leads whose description or comments contain this email address.",
"type": "string",
"minLength": 3,
"maxLength": 200
},
"starred": {
"description": "true = only starred leads.",
"type": "boolean"
},
"include_unassigned": {
"description": "Also return leads that have no owner (default false).",
"type": "boolean"
},
"order": {
"description": "Sort attribute (default id).",
"type": "string",
"enum": [
"id",
"creation_date",
"last_update",
"next_action",
"sale_step",
"amount",
"probability",
"probalized_amount",
"alphabetically"
]
},
"direction": {
"description": "Sort direction (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"date_range_type": {
"description": "Which date start_date/end_date apply to (default creation).",
"type": "string",
"enum": [
"creation",
"update",
"next_action",
"closed"
]
},
"start_date": {
"description": "From this date (yyyy-mm-dd), by date_range_type.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end_date": {
"description": "Until this date (yyyy-mm-dd), by date_range_type.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"updated_after": {
"description": "Only leads updated on or after this date (yyyy-mm-dd). Do not combine with date_range_type.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"limit": {
"description": "Results per call, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Skip this many results (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_unassigned_leads(limit)
Leads that have no owner yet (for example web-form or API leads waiting to be handed to a salesperson). GET /leads/unassigned.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Results per call, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_get_lead(lead_id)
One lead by id: title, step, status, amount, probability, tags, owner, client folder, team, reminder, and the full description with the contact's details. GET /leads/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_lead_comments(lead_id, direction)
The comments (notes, logged calls/meetings/emails) on a lead, newest first by default. GET /leads/{id}/comments.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
},
"direction": {
"description": "Sort by date (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_lead_history(lead_id, from, to, action_type, direction, ...)
The timeline of a lead: creation, assignments, step and status changes, amount changes, comments and emails sent, with who did it and when. Filter by date range, action type or user. GET /leads/{id}/action_histories.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
},
"from": {
"description": "From this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"to": {
"description": "Until this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"action_type": {
"description": "Only this kind of action.",
"type": "string",
"enum": [
"client_assigned",
"step_changed",
"status_changed",
"amount_set",
"user_assigned",
"lead_created",
"comment_added",
"email_sent"
]
},
"direction": {
"description": "Sort by id (default asc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"limit": {
"description": "Results per call, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"description": "Skip this many results (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_get_lead_duplicates(lead_id)
Leads that noCRM.io detects as possible duplicates of this lead (same email or key field). GET /leads/{id}/duplicates.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_lead_attachments(lead_id)
File attachments on a lead (names, ids, sizes, links). GET /leads/{id}/attachments.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_follow_ups(lead_id, user_id, status)
Post-sales processes (task checklists created from a template) of one lead OR of one user. Needs lead_id or user_id. Post-sales is a higher-edition feature (HTTP 403 otherwise). GET /follow_ups.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"description": "Follow-ups of this lead.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"user_id": {
"description": "Follow-ups of this user (id or email).",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
},
"status": {
"description": "Only these statuses.",
"minItems": 1,
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"todo",
"standby",
"done"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_pipelines
The sales pipelines of the account (one unless the multiple-pipelines feature is on). GET /pipelines.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_steps(direction)
The steps (stages) of the sales pipeline in order, with ids, positions and their pipeline. Use the ids or names when filtering leads or moving a lead. GET /steps.
Esquema de entrada
{
"type": "object",
"properties": {
"direction": {
"description": "Order by position (default asc).",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_users(email, firstname, lastname, status, role, ...)
The users (salespeople) of the account with name, email, phone, role (admin or not) and whether they are active or deactivated. Deleted users are included, flagged is_disabled. GET /users.
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"description": "Only the user with this email.",
"type": "string",
"minLength": 3,
"maxLength": 200
},
"firstname": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"lastname": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"status": {
"description": "Default all.",
"type": "string",
"enum": [
"all",
"activated",
"deactivated"
]
},
"role": {
"description": "Default all.",
"type": "string",
"enum": [
"all",
"admin",
"non-admin"
]
},
"teams": {
"description": "Only users in these teams (ids or names).",
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_get_user(user)
One user by id or email address. GET /users/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"user": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
],
"description": "A user id or the user's email address (see nocrm_list_users)."
}
},
"required": [
"user"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_teams
Sales teams with their members and who manages each. The Teams feature must be on in the account (HTTP 403 otherwise). GET /teams.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_client_folders(order, direction)
Client folders (accounts that group several leads), ordered by name by default. GET /clients.
Esquema de entrada
{
"type": "object",
"properties": {
"order": {
"description": "Order by name (default) or id.",
"type": "string",
"enum": [
"name",
"id"
]
},
"direction": {
"description": "Default asc.",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_get_client_folder(client_id)
One client folder by id, with its contact fields and owner. GET /clients/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Client folder id."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_activities
The activity types (call, email, meeting and their outcomes) that can be set on a comment or reminder. GET /activities.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_predefined_tags
The account's predefined tags (admin keys only; an HTTP 401 unauthorized_non_admin means the key lacks rights). GET /predefined_tags.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nocrm_list_fields(type)
The custom fields defined for leads or client folders. GET /fields.
Esquema de entrada
{
"type": "object",
"properties": {
"type": {
"description": "Only fields of this type.",
"type": "string",
"enum": [
"lead",
"client"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡nocrm_create_lead(title, description, user_id, tags, step)
WRITE: create a new lead. The description holds the contact's details, one 'Label: value' per line (for example 'Firstname: Ada', 'Email: [email protected]', 'Phone: ...'); noCRM.io reads those lines. Without user_id the lead is created unassigned; a pipeline step can only be set when the lead is assigned. Not idempotent: calling twice creates two leads. POST /leads.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Lead title, usually the company name."
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Contact details and notes, one 'Label: value' per line."
},
"user_id": {
"description": "Owner (id or email). Omit for an unassigned lead.",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
},
"tags": {
"description": "Tags (created if new).",
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"step": {
"description": "Pipeline step id or exact name. Needs user_id.",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
}
},
"required": [
"title",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴nocrm_update_lead(lead_id, title, status, step, amount, ...)
WRITE: change a lead: title, status (won, lost, cancelled, todo or standby), pipeline step, amount, probability, star, estimated closing date, tags (replaces the lead's tag list), or append text to the description (existing description text is never replaced). Moving to standby needs remind_date. Only the fields you pass change. PUT /leads/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"status": {
"description": "New status. standby needs remind_date.",
"type": "string",
"enum": [
"todo",
"standby",
"won",
"cancelled",
"lost"
]
},
"step": {
"description": "Move to this step (id or exact name; prefer the id when pipelines share names).",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
},
"amount": {
"description": "Deal amount in the account currency.",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"probability": {
"description": "Win probability, percent.",
"type": "integer",
"minimum": 0,
"maximum": 100
},
"starred": {
"type": "boolean"
},
"estimated_closing_date": {
"description": "yyyy-mm-dd, in the account's time zone.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"remind_date": {
"description": "Reminder date yyyy-mm-dd (required for standby).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"remind_time": {
"description": "Reminder time HH:MM, 24 h, in 15-minute steps.",
"type": "string",
"pattern": "^([01]\\d|2[0-3]):(00|15|30|45)$"
},
"reminder_note": {
"description": "Note stored with the reminder.",
"type": "string",
"maxLength": 2000
},
"tags": {
"description": "The lead's tags after the update (replaces the current list; new tags are created).",
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"append_description": {
"description": "Text added at the end of the description.",
"type": "string",
"minLength": 1,
"maxLength": 20000
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴nocrm_assign_lead(lead_id, user_id)
WRITE: assign a lead to a user (id or email), replacing its current owner. The owner may get a notification from noCRM.io. POST /leads/{id}/assign.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
},
"user_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
],
"description": "The new owner (id or email)."
}
},
"required": [
"lead_id",
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡nocrm_add_lead_comment(lead_id, content, activity_id)
WRITE: add a comment (an internal note) to a lead, optionally typed as an activity such as a call or meeting. It is visible to the lead's team in noCRM.io and sends nothing to the customer. Not idempotent. POST /leads/{id}/comments.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "The comment text."
},
"activity_id": {
"description": "Activity type id (see nocrm_list_activities), for example the id of 'Call'.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"lead_id",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡nocrm_create_client_folder(name, description, user_id)
WRITE: create a client folder (an account that groups leads). Not idempotent. POST /clients.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Folder name, usually the company."
},
"description": {
"description": "For example the address.",
"type": "string",
"maxLength": 5000
},
"user_id": {
"description": "Owner (id or email).",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"minLength": 1,
"maxLength": 200
}
]
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴nocrm_add_lead_to_client_folder(lead_id, client_id)
WRITE: file a lead under a client folder. POST /leads/{id}/add_to_client.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "noCRM.io lead id."
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Client folder id (see nocrm_list_client_folders)."
}
},
"required": [
"lead_id",
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia