What this MCP does
Reads and writes Folk CRM people, companies, groups, users, and notes.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The company name (required).'}, 'urls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs (website, social, etc.).'}, 'emails': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Email addresses.'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The group id.'}}, 'description': 'A reference to a group by id.'}, 'description': 'Groups to add this company to (array of {id}).'}, 'phones': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Phone numbers.'}, 'industry': {'type': 'string', 'description': 'Industry.'}, 'addresses': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Postal addresses.'}, 'description': {'type': 'string', 'description': 'Freeform description / notes.'}, 'employeeRange': {'enum': ['1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000', '5001-10000', '10000+'], 'type': 'string', 'description': 'Employee-count range bucket.'}, 'fundingRaised': {'type': ['string', 'number'], 'description': 'Total funding raised.'}, 'foundationYear': {'type': ['string', 'number'], 'description': 'Year the company was founded.'}, 'lastFundingDate': {'type': 'string', 'description': 'Date of last funding round, formatted YYYY-MM-DD.'}, 'customFieldValues': {'type': 'object', 'description': 'Custom field values, keyed by field.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['entity_id', 'visibility', 'content'], 'properties': {'content': {'type': 'string', 'description': 'The note content.'}, 'entity_id': {'type': 'string', 'description': 'Id of the entity (person/company) to attach the note to — maps to body entity:{id}.'}, 'visibility': {'enum': ['public', 'private'], 'type': 'string', 'description': "Note visibility — 'public' (workspace) or 'private' (you)."}, 'parent_note_id': {'type': 'string', 'description': 'Id of a parent note to reply under — maps to body parentNote:{id}.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'urls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs (website, social, etc.).'}, 'emails': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Email addresses.'}, 'gender': {'enum': ['Male', 'Female', 'Unknown', 'Other'], 'type': 'string', 'description': 'Gender — one of Male, Female, Unknown, Other.'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The group id.'}}, 'description': 'A reference to a group by id.'}, 'description': 'Groups to add this person to (array of {id}).'}, 'phones': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Phone numbers.'}, 'birthday': {'type': 'string', 'description': 'Birthday, formatted YYYY-MM-DD.'}, 'fullName': {'type': 'string', 'description': 'Full name (if not split into first/last).'}, 'jobTitle': {'type': 'string', 'description': 'Job title.'}, 'lastName': {'type': 'string', 'description': 'Last name.'}, 'addresses': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Postal addresses.'}, 'companies': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The company id.'}}}, {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The company name (creates/links by name).'}}}], 'description': 'A reference to a company by id or by name.'}, 'description': 'Companies this person is linked to (array of {id} or {name}).'}, 'firstName': {'type': 'string', 'description': 'First name.'}, 'description': {'type': 'string', 'description': 'Freeform description / notes.'}, 'customFieldValues': {'type': 'object', 'description': 'Custom field values, keyed by field.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The company id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The note id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The person id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'cursor': {'type': 'string', 'description': "Pagination cursor — pass the value from a previous page's pagination.nextLink to fetch the next page."}, 'filter': {'type': 'object', 'description': 'Structured filter: attribute → operator → value, expanded to filter[attribute][operator]=value query keys. Example: {"firstName":{"eq":"John"}}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'boolean']}}}, 'combinator': {'enum': ['and', 'or'], 'type': 'string', 'description': "How to combine multiple filters — 'and' (all must match) or 'or' (any). Default 'and'."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'cursor': {'type': 'string', 'description': "Pagination cursor — pass the value from a previous page's pagination.nextLink to fetch the next page."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'query': {'type': 'string', 'description': 'Full-text search over note content.'}, 'cursor': {'type': 'string', 'description': "Pagination cursor — pass the value from a previous page's pagination.nextLink to fetch the next page."}, 'entity_id': {'type': 'string', 'description': 'Restrict to notes on this entity (person/company) id — maps to query key entity.id.'}, 'created_after': {'type': 'string', 'description': 'Only notes created after this ISO 8601 timestamp — maps to query createdAfter.'}, 'created_before': {'type': 'string', 'description': 'Only notes created before this ISO 8601 timestamp — maps to query createdBefore.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'cursor': {'type': 'string', 'description': "Pagination cursor — pass the value from a previous page's pagination.nextLink to fetch the next page."}, 'filter': {'type': 'object', 'description': 'Structured filter: attribute → operator → value, expanded to filter[attribute][operator]=value query keys. Example: {"firstName":{"eq":"John"}}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'boolean']}}}, 'combinator': {'enum': ['and', 'or'], 'type': 'string', 'description': "How to combine multiple filters — 'and' (all must match) or 'or' (any). Default 'and'."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'cursor': {'type': 'string', 'description': "Pagination cursor — pass the value from a previous page's pagination.nextLink to fetch the next page."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The company id to update.'}, 'name': {'type': 'string', 'description': 'The company name.'}, 'urls': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the company's URLs."}, 'emails': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the company's email addresses."}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The group id.'}}, 'description': 'A reference to a group by id.'}, 'description': "Replace the company's groups (array of {id})."}, 'phones': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the company's phone numbers."}, 'industry': {'type': 'string', 'description': 'Industry.'}, 'addresses': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the company's addresses."}, 'description': {'type': 'string', 'description': 'Freeform description / notes.'}, 'employeeRange': {'enum': ['1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000', '5001-10000', '10000+'], 'type': 'string', 'description': 'Employee-count range bucket.'}, 'fundingRaised': {'type': ['string', 'number'], 'description': 'Total funding raised.'}, 'foundationYear': {'type': ['string', 'number'], 'description': 'Year the company was founded.'}, 'lastFundingDate': {'type': 'string', 'description': 'Date of last funding round, formatted YYYY-MM-DD.'}, 'customFieldValues': {'type': 'object', 'description': 'Custom field values, keyed by field.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The person id to update.'}, 'urls': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the person's URLs."}, 'emails': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the person's email addresses."}, 'gender': {'enum': ['Male', 'Female', 'Unknown', 'Other'], 'type': 'string', 'description': 'Gender — one of Male, Female, Unknown, Other.'}, 'groups': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The group id.'}}, 'description': 'A reference to a group by id.'}, 'description': "Replace the person's groups (array of {id})."}, 'phones': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the person's phone numbers."}, 'birthday': {'type': 'string', 'description': 'Birthday, formatted YYYY-MM-DD.'}, 'fullName': {'type': 'string', 'description': 'Full name.'}, 'jobTitle': {'type': 'string', 'description': 'Job title.'}, 'lastName': {'type': 'string', 'description': 'Last name.'}, 'addresses': {'type': 'array', 'items': {'type': 'string'}, 'description': "Replace the person's addresses."}, 'companies': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The company id.'}}}, {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The company name (creates/links by name).'}}}], 'description': 'A reference to a company by id or by name.'}, 'description': "Replace the person's linked companies (array of {id} or {name})."}, 'firstName': {'type': 'string', 'description': 'First name.'}, 'description': {'type': 'string', 'description': 'Freeform description / notes.'}, 'customFieldValues': {'type': 'object', 'description': 'Custom field values, keyed by field.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Recent tool changes
Similar MCP servers
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
FavCRM
Provides CRM operations for customers, leads, deals, bookings, memberships, campaigns, WhatsApp and SMS messaging, invoices, loya…
Plyto
Provides CRM capabilities for managing contacts, deals, email, advertising, and reports.
GestãoClick
Connects to the GestãoClick ERP to manage customers, suppliers, products, sales, service orders, budgets, and financial records.
Odichat
Manages WhatsApp, Instagram, and Facebook inboxes with contacts, conversations, agents, automation rules, labels, canned response…
Rahul D Sarker: Marketing & RevOps Tools
Provides marketing, revenue operations, sales, advertising, SaaS, and conversion calculators, along with article search and consu…