Pinlyx
Pinlyx is a CRM for teams that sell through social media and messaging.
Что умеет
- Crm Search Contacts: Search the user's CRM contacts by name, username, or phone. Returns up to 25 results sorted by most-recently-contacted.
- Crm Get Contact: Fetch a single contact by id, including the last 10 messages exchanged.
- Crm Send Telegram Message: Queue a Telegram outbound message. Specify accountId (one of the user's connected Telegram accounts) and either contactId or username. Message is sent asynchronously.
Какие данные видит
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
Pinlyx is a CRM for teams that sell through social media and messaging. Its remote MCP server gives your AI assistant 76 tools over your Pinlyx workspace:
- Contacts and pipelines: search contacts, read activity, tag, score, assign, add notes, move stages
- Deals and tasks: list and create deals, update deal stages, create and complete tasks
- Social inbox: read and answer conversations from Instagram, Facebook, X, LinkedIn, TikTok, WhatsApp, Telegram and more
- Social posts: schedule, update and cancel posts, read post stats
- Email inbox: search threads, set status, assign, connect mailboxes
- Google Ads: campaign reports and breakdowns, budget, bidding and status changes
- Reporting: dashboard summary, messaging stats, finance summaries, sequences, jobs and webhooks
Authentication: send your Pinlyx API key (starts with csk_live_) in the X-Api-Key header. Create a key in the Pinlyx app under Settings > Developers. Every key carries scopes, so you can give an assistant read-only access.
Как подключить
Как подключить Pinlyx к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://pinlyx--crmsolid.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Pinlyx к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://pinlyx--crmsolid.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Pinlyx к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://pinlyx--crmsolid.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (60)
Технические названия из tools/list. Нужны только разработчикам.
| crm_search_contacts | Search the user's CRM contacts by name, username, or phone. Returns up to 25 results sorted by most-recently-contacted. |
| crm_get_contact | Fetch a single contact by id, including the last 10 messages exchanged. |
| crm_send_telegram_message | Queue a Telegram outbound message. Specify accountId (one of the user's connected Telegram accounts) and either contactId or username. Message is sent asynchronously. |
| crm_dashboard_summary | High-level KPIs for the user's account: total contacts, messages queued/sent today, connected accounts. Useful as a daily standup for AI agents. |
| crm_send_twitter_dm | Send a Twitter (X) DM to a contact. Use when the user wants to reach out on X. The contact must already exist with platform='twitter' and an XUserId. Sends synchronously through the user's connected X session. |
| crm_search_twitter_messages | Search the user's stored Twitter (X) DMs by free-text. Use when the user asks 'what did I say to X about Y'. Returns up to 25 most-recent matches. |
| crm_list_sequences | List the user's outbound message sequences with status, target counts, and progress. Use to answer 'what campaigns are running?'. |
| crm_get_sequence_status | Get a deep status report for one sequence: name, status, target/processed/successful/failed counts, message steps, and recent job activity. |
| crm_pause_sequence | Pause an active sequence so no more messages are queued. Existing in-flight jobs will still run. Idempotent: pausing a paused sequence is a no-op. |
| crm_resume_sequence | Resume a paused sequence so the worker starts queueing messages again. |
| crm_list_accounts | List all connected accounts (Telegram + Twitter/X) with id, type, name, status, and most-recent activity. Required before sending any message — gives the agent the right accountId. |
| crm_messaging_stats | Sent/failed/queued message counts over a window (1, 7, or 30 days). Optionally scoped to a single account. Use for 'how am I doing this week?' style questions. |
| crm_top_contacts | Most-messaged contacts in the last 30 days, ranked by outbound message volume. Useful for 'who are my warmest leads?'. |
| crm_list_recent_conversations | Recently active contacts with their last message preview, ordered by latest activity. Use to surface 'who needs a reply?'. |
| crm_get_conversation | Full message thread for one contact, paginated newest-first. Pass 'before' (an Id) to fetch the page older than that message. Returns up to 50 messages per call. |
| crm_add_contact_note | Append a timestamped free-text note to a contact's Notes field. Use to record key facts learned during a conversation. The field holds 500 characters: once full, the oldest text is dropped from the front to make room, so this can remove earlier note text. |
| crm_update_contact_stage | Move a contact to a different pipeline stage (lead -> conversation -> proposal -> negotiation -> won/lost). Use after a meaningful sales event. |
| crm_finance_summary | Reporting only. Realized income/expense/net per currency plus outstanding (pending) totals and the top expense categories, over a window. Use for 'how is the business doing financially?'. Reads the ledger; cannot move, charge, or settle money. |
| crm_list_transactions | Reporting only. List ledger entries (income/expense) newest-first, with optional filters. Cannot create, edit, refund, or settle a transaction. |
| crm_list_invoices | Reporting only. List invoices newest-first with an outstanding (sent/overdue) summary per currency. Cannot create, send, void, or pay an invoice, and returns no payment link. |
| crm_revenue_sources_summary | Reporting only. List configured external revenue sources with their last-sync status, total ingested count and last event time. Secrets (keys/credentials) are never returned. Cannot add, edit, or trigger a source, and moves no money. |
| crm_list_deals | List sales deals (pipeline) ordered by stage then value, with open-task counts. Use to answer 'what's in my pipeline?'. |
| crm_get_deal | Fetch one deal with its linked tasks and resolved contact name. |
| crm_create_deal | Create a new pipeline deal in an active stage. Title is required. Cannot create a deal already won/lost (closing a deal is done from the panel because 'won' books revenue). |
| crm_update_deal_stage | Move a deal between pipeline stages. Allowed: lead, qualified, proposal, negotiation, lost. Moving to 'won' is intentionally NOT supported here (it books an income ledger entry — do that from the panel). |
| crm_list_tasks | List CRM tasks (to-dos / reminders) sorted by due date then priority. Use for 'what's due?' or 'what's overdue?'. |
| crm_create_task | Create a task / reminder. Title is required; optionally link it to a contact and/or deal and set a due date and priority. |
| crm_complete_task | Set a task's status. Defaults to marking it done (stamps completion time); pass status to re-open (open/inprogress). |
| crm_search_email_threads | Search the user's email inbox threads by subject/preview, with status/contact/unread filters. Read-only — does NOT send mail. |
| crm_get_email_thread | Fetch one email thread with its messages (plain text, oldest-first) plus any AI summary/lead score. Read-only. |
| crm_set_email_thread_status | Set an email thread's workflow status (open/pending/closed). Does NOT send mail. |
| crm_assign_email_thread | Assign an email thread to a team member, or unassign it by omitting assignedToUserId. Does NOT send mail. |
| crm_list_email_accounts | List the mailboxes connected to this CRM with their sync status, per-mailbox thread/unread counts and the plan's remaining mailbox slots. Credentials are never returned. |
| crm_add_email_account | Connect a mailbox over IMAP/SMTP so its mail lands in the CRM inbox. Host and port are auto-filled for Gmail, Outlook, Yahoo, Yandex, Zoho and iCloud from the address; pass them explicitly for anything else. IMAP and SMTP are both authenticated first and nothing is saved unless both succeed. Gmail, Yahoo and iCloud require an app password, not the account password — ask the person for one rather than guessing, and never invent a password. |
| crm_test_email_account | Re-authenticate a connected mailbox with the credentials already on file and update its status from the result. Use it when a mailbox shows an auth failure or stopped syncing. Does NOT send mail. |
| crm_list_tags | List the user's contact-tag dictionary with how many contacts each tag is attached to. |
| crm_create_tag | Create a tag in the workspace's contact-tag dictionary. Does not touch any contact; use crm_tag_contact to attach it. Idempotent: an existing tag with the same name is returned unchanged instead of being duplicated. |
| crm_tag_contact | Attach an existing tag to a contact and log a 'TagAdded' activity. Identify the tag by tagId (from crm_list_tags) or by its exact tagName. This tool never creates a tag: an unknown name is rejected, and crm_create_tag makes one first. Idempotent. |
| crm_untag_contact | Detach a tag from a contact. Logs a 'TagRemoved' activity. Idempotent. |
| crm_set_lead_score | Manually set a contact's lead score (0-100). Marks it as a manual (non-AI) override and logs a 'ScoreChanged' activity. |
| crm_assign_contact | Assign a contact to a team member (owner), or unassign by omitting assignedToUserId. Logs an 'Assigned'/'Unassigned' activity. |
| crm_get_contact_activity | Fetch a contact's activity timeline (notes, stage changes, tags, score changes, assignments) newest-first. |
| crm_list_pipelines | List the user's pipeline boards with their ordered stage columns and per-stage contact counts. Use to understand how the CRM is organized before moving/reading contacts. Read-only. |
| crm_get_pipeline | Fetch one pipeline board by id with its ordered stages and per-stage contact counts. Read-only. |
| crm_list_webhooks | List the user's registered webhook endpoints (URL, subscribed event types, health). Signing secrets are NEVER returned — only a short preview. Read-only. |
| crm_list_webhook_deliveries | List recent delivery attempts for one webhook endpoint (status, attempts, last response code, last error) newest-first. Use to debug 'why isn't my webhook firing?'. Read-only. |
| crm_create_webhook | Register a new webhook endpoint. Provide an HTTPS url and optionally a list of event types to subscribe to (default: all). The signing secret is returned ONCE in the response — store it immediately, it cannot be retrieved later. |
| crm_delete_webhook | Permanently delete a webhook endpoint. This stops all future deliveries to it and cannot be undone. |
| crm_list_agents | List the user's AI agents with a config summary (status, channels, trigger/response mode, model) and a 24h run count. Read-only. |
| crm_run_agent | Test-run an AI agent against a sample inbound message and return the reply it WOULD send. A safe playground: the reply is NEVER delivered to any contact, and no CRM record is created, changed, or deleted. Optionally seed prior turns via history. It is flagged as a non-read-only tool only because each run calls an external model provider and spends AI credits. |
| crm_list_jobs | List outbound Telegram send-jobs (from crm_send_telegram_message and sequences) newest-first, with status and error visibility. Use to monitor 'did my messages go out?'. Read-only. |
| crm_get_job | Fetch one outbound message-job by id including its full text, target, status and lastError. Use to diagnose a specific send failure. Read-only. |
| crm_list_social_accounts | List the social accounts connected to this workspace (Instagram, Facebook, X, LinkedIn, TikTok, YouTube, Threads, Pinterest, Reddit, Bluesky, Telegram, WhatsApp) with platform, handle and posting limits. Call this first to learn which accountId to post from. |
| crm_list_social_conversations | List social DM conversations, most-recently-active first, with the participant, unread count and last-message preview. Use to answer 'who messaged us on Instagram?' or to find the conversationId for a reply. |
| crm_get_social_conversation | Fetch one social DM conversation with the participant's details, the bridged CRM contact and the last 10 messages. Use before drafting a reply so the answer fits the thread. |
| crm_list_social_messages | Page through a social DM thread, oldest-first inside the page. Voice notes carry their transcript and translated messages carry both wordings. Pass beforeMessageId to walk further back. |
| crm_send_social_message | Send a direct message into an existing social conversation. This reaches a real person immediately. The reply is delivered through the account that owns the thread, the AI auto-reply is paused for the linked contact, and the CRM timeline records the send. Platform windows still apply: WhatsApp only allows free-form replies within 24 hours of the customer's last message. |
| crm_mark_social_conversation_read | Clear a social conversation's unread badge, on the network as well as in the CRM. Idempotent: marking an already-read conversation changes nothing. |
| crm_social_inbox_summary | One-call state of the social inbox: conversation and unread totals overall and per network, plus the threads still waiting on a reply, oldest first. Use as the opening move for inbox triage. |
| crm_list_social_posts | List scheduled and published social posts, newest scheduled time first, with status, published URL and any failure reason. Use to answer 'what is going out this week?'. |