MCP Clint CRM
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLINT_API_KEY | Yes | Chave da API do Clint CRM (plano Elite) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_fieldsA | Get all custom fields available in the account. Use this to discover field names before creating or updating contacts and deals. |
| list_contactsA | List all contacts from the CRM. Optionally filter by name, email, phone (without country code), tag_names, or origin_id (use list_origins to find valid origin IDs). Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| get_contactA | Get full details of a single contact by UUID. Use list_contacts first to find the contact ID. |
| create_contactA | Creates a contact. fields: custom fields as a JSON object (e.g. {"field_key": "value"}). Call list_fields first to discover available field keys. |
| update_contactA | Update contact by its ID. Use list_contacts first to find the contact ID. fields: custom fields as a JSON object (e.g. {"field_key": "value"}). Call list_fields first to discover available field keys. |
| delete_contactA | WARNING: This is a destructive action, ask user permission to execute. Deletes a contact by its ID. Use list_contacts first to find the contact ID. |
| add_tagsA | Add tags to a single contact. Use list_contacts first to find the contact ID. Use list_tags to find tags IDs or names. |
| remove_tagsA | WARNING: This is a destructive action, ask user permission to execute. Remove a tag from a single contact. Use list_contacts first to find the contact ID. Use list_tags to find tag names. |
| list_tagsA | Retrieve a list of tags. Optionally filter by name. Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| get_tagA | Retrieve a single tag by ID. Use list_tags to find the tag ID. |
| create_tagB | Create a new tag. Available colors: #f44336, #e91e63, #9c27b0, #673ab7, #2196f3, #faa200, #795548, #607d8b |
| delete_tagA | WARNING: This is a destructive action, ask user permission to execute. Remove a single tag by ID. Use list_tags to find the tag ID. |
| list_dealsA | Retrieve a list of deals. Optionally filter by date ranges (ISO 8601), user_email, phone, email, tag_names (comma-separated), status (OPEN, WON, LOST), or stage_id. Defaults to status=OPEN if not specified. Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| create_dealA | Create a new deal in the CRM. origin_id is required — use list_origins to find valid origin IDs. fields: custom fields as a JSON object (e.g. {"field_key": "value"}). Call list_fields first to discover available field keys. |
| get_dealA | Retrieve a single deal by ID. Use list_deals to find the deal ID. |
| update_dealA | Update an existing deal. Use list_deals or get_deal to find the deal ID. Status options: OPEN, WON, LOST. fields: custom fields as a JSON object (e.g. {"field_key": "value"}). Call list_fields first to discover available field keys. |
| remove_dealA | WARNING: This is a destructive action, ask user permission to execute. Remove a deal permanently by ID. Use list_deals or get_deal to find the deal ID. |
| list_groupsA | Retrieve a list of all groups. Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| get_groupA | Retrieve a single group by ID. Use list_groups to find the group ID. |
| get_organizationB | Retrieve details of a single organization by ID. |
| update_organizationA | Update an existing organization. Use get_organization first to check current data. custom_fields: custom fields as a JSON object (e.g. {"field_key": "value"}). |
| list_originsA | Retrieve a list of origins filtered by group. group_id is required — use list_groups to find valid group IDs. Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| get_originA | Retrieve a single origin by ID. Use list_origins to find the origin ID. |
| list_lost_statusA | Retrieve a list of all lost status reasons. Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| get_lost_statusA | Retrieve a single lost status by ID. Use list_lost_status to find the status ID. |
| list_usersA | Retrieve a list of all users. Returns up to 1000 per call. Use offset to paginate (e.g., offset=1000 for next batch). |
| get_userA | Retrieve a single user by ID. Use list_users to find the user ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Franky-Neto/mcp-clint-crm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server