Skip to main content
Glama

Server Details

Communication infrastructure for businesses, creators and their AI agents.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

C2.8/5.0

Scored across 76 tools

Disambiguation3/5

The set has many overlapping read/list tools across messaging, accounts, posts, and people (e.g. list_messages vs list_messaging_messages vs list_attendee_messages; get_account_health vs get_connected_account vs get_messaging_usage). Descriptions are very detailed and usually clarify boundaries, but an agent must parse long text to avoid misselection. Some account/usage/health tools remain easy to confuse.

Naming Consistency5/5

Tool names consistently use snake_case with predictable verb_noun or verb_preposition_noun patterns (list_*, get_*, create_*, delete_*, search_*, wait_for_*, send_*). There is no mixing of camelCase or arbitrary naming styles. The naming scheme is readable and broadly uniform across 76 tools.

Tool Count1/5

At 76 tools, the surface is far too large for practical agent selection and maintenance. Even though the domain is broad, the set bundles messaging, social reading, hiring, billing, setup, webhooks, and analytics into one overloaded server. Many tools could be grouped or scoped into smaller purpose-specific servers.

Completeness2/5

The set is rich in read/list operations, but core write actions referenced in descriptions are missing from the provided tool surface, such as reply_in_chat, create_post, start_chat, respond_to_invitation, accept_follow_request, endorse_skill, and submit_review. For a messaging/social automation server, lacking direct send/reply/create operations is a significant gap that will block core workflows. Some lifecycle operations are also absent.

Available Tools

76 tools
check_setup_testCheck the setup testA
Read-onlyIdempotent
Inspect

Where the setup test is: waiting (no message yet), received (the message arrived: read the brief, find the chat and answer it with reply_in_chat) or replied (your reply went out: the test passed). Read-only.

Inputs: no named parameters.

create_event_webhookGet events at a URLAInspect

Register an https URL that gets each new event of this key as a signed POST, the same events as wait_for_events (default: message.received, comment.received, invitation.received, invitation.accepted, account.status, account.resting). Each POST has the header Spacesos-Signature: t=,v1=<hex HMAC-SHA256 of "." with the secret>. The secret is shown only in this answer: keep it. Failed deliveries are retried with backoff for about a day; after 50 events fail in a row the webhook turns off. At most 3 per key. Use it when your agent runs on a server that can receive requests; otherwise use wait_for_events. Sensitive write: it sends every new event, including message text, to the given URL. Ask the person to approve every call, with the exact recipient and content.

Inputs: url (required), events, account_id.

delete_event_webhookRemove an event webhookA
DestructiveIdempotent
Inspect

Remove one webhook this key registered (webhook_id from list_event_webhooks). Events stop at once.

Inputs: webhook_id (required).

estimate_post_audienceEstimate post audienceC
Read-onlyIdempotent
Inspect

Estimated audience for an organization post. Read-only.

Inputs: account_id (required), extra.

export_messaging_usageExport usage by dayA
Read-onlyIdempotent
Inspect

One row per account per UTC day (from and to are YYYY-MM-DD, inclusive, at most 92 days; default the last 30): messages_sent, new_chats and actions by type (invite, profile_view, search, browse, inbox_read (reading your own conversations), post, comment, reaction, endorse, network, chat_action). No message text or recipients. The same as GET /v1/messaging/usage/export?format=json.

Inputs: to, from.

find_chat_with_userFind the chat with a personA
Read-onlyIdempotent
Inspect

The existing one-to-one conversation with a person, if there is one (chat_id null when there is none: use start_chat). Read-only.

Inputs: user_id (required), account_id (required).

get_account_healthCheck an accountA
Read-onlyIdempotent
Inspect

Whether one connected account is working and, if not, what it means and the one thing to do (usually reconnect). Also when its status changed, its warm-up, messages and new chats left today, and when it last sent. Check this before bulk work or when sends are refused.

Inputs: account_id (required).

get_account_limitsWhat is left today and this weekA
Read-onlyIdempotent
Inspect

For one account: each capped action (messages, new chats, InMail, invitations, profile views, searches, comments, reactions, endorsements, follows) with how many were used today and in the last 7 days against the daily and weekly caps, the LinkedIn plan the caps follow, and the warm-up. Check it before planning a day of work. Reads only Spaces records.

Inputs: account_id (required).

get_applicantGet applicantD
Read-onlyIdempotent
Inspect

One applicant. Read-only.

Inputs: job_id (required), account_id (required), applicant_id (required), extra.

get_applicant_resumeGet applicant resumeC
Read-onlyIdempotent
Inspect

Download an applicant resume. Read-only.

Inputs: job_id (required), account_id (required), applicant_id (required), extra.

get_attendeeGet attendeeD
Read-onlyIdempotent
Inspect

One attendee. Read-only.

Inputs: account_id (required), attendee_id (required), extra.

get_attendee_pictureGet attendee pictureB
Read-onlyIdempotent
Inspect

Profile picture for an attendee. Binary. Read-only.

Inputs: account_id (required), attendee_id (required), extra.

get_business_briefRead the business briefA
Read-onlyIdempotent
Inspect

What the business told you to know before answering its customers: name, what it sells, hours, locations, prices and links, common questions and answers, tone, languages, what never to promise, when to hand over to a person and who to contact for urgent cases. Read it before replying to a customer and follow it. complete false means it still needs filling: ask the questions it gives. Read-only.

Inputs: no named parameters.

get_cancel_flowSee the current cancel stepA
Read-onlyIdempotent
Inspect

The step this cancel flow is on, and the one offer to show. Read-only. Confirm is refused until every earlier step has been declined.

Inputs: flow_id (required).

get_chat_pictureDownload a chat pictureB
Read-onlyIdempotent
Inspect

The picture of a conversation or group. REST answers with the image; MCP with base64. Read-only.

Inputs: chat_id (required), account_id (required).

get_chat_tagsGet a chat's tags and ownerB
Read-onlyIdempotent
Inspect

The tags and the owner (workspace user id and email) of one chat. Read-only.

Inputs: chat_id (required), account_id (required).

get_companyLook up a LinkedIn companyB
Read-onlyIdempotent
Inspect

LinkedIn accounts only. A company page by its id or public name (linkedin.com/company/): description, industry, website, followers and size. Counts as browsing.

Inputs: account_id (required), company_id (required).

get_connected_accountGet connected accountC
Read-onlyIdempotent
Inspect

Status of one connected account. Read-only.

Inputs: account_id (required), extra.

get_hiring_projectGet hiring projectC
Read-onlyIdempotent
Inspect

One hiring project. Read-only.

Inputs: account_id (required), project_id (required), extra.

get_inmail_balanceInMail credits leftA
Read-onlyIdempotent
Inspect

LinkedIn accounts only. InMail credits on this account by plan (premium, sales_navigator, recruiter); null where the account has no such plan. Counts as browsing.

Inputs: account_id (required).

get_job_postingGet job postingC
Read-onlyIdempotent
Inspect

One job post. Read-only.

Inputs: job_id (required), account_id (required), extra.

get_messaging_attachmentGet a message attachmentA
Read-onlyIdempotent
Inspect

Download one attachment of a message (a photo, video, voice note, GIF, sticker or file; ids from list_messaging_messages) as base64 with its MIME type. Files over 5 MB are refused as base64: pass link: true instead to get a private link that works for 10 minutes (up to 100 MB), to open or hand to another tool. Read-only.

Inputs: chat_id (required), account_id (required), message_id (required), attachment_id (required), +1 more.

get_messaging_billingGet messaging billingB
Read-onlyIdempotent
Inspect

Whether billing is active, which Spaces plan, how many accounts are connected, and the action usage. Read-only.

Inputs: no named parameters.

get_messaging_usageGet usage and limitsA
Read-onlyIdempotent
Inspect

Sends and new chats per account against the ceilings. Spaces reduces ban risk with per-action limits, warm-up and pacing. A limit on one action does not use up reading conversations. It cannot guarantee the platform will not restrict the account. Do not work around a limit. On 429, wait retry_after for that action and retry with the same idempotency key. If the account needs a sign-in or a security check, stop. Check get_messaging_usage (GET /v1/messaging/usage) before bulk work. Every answer carries account_budget: wait next_check_after_seconds before checking for new messages again, and never poll faster. Replies to people who wrote in go out from the first day, paced and with their own generous daily and hourly caps (replies_left_today); they never use up the room for new messages. On WhatsApp, new chats wait up to 24 hours after connecting or reconnecting; replies in existing chats still go out.

Inputs: no named parameters.

get_own_profileYour own profileC
Read-onlyIdempotent
Inspect

The connected account's own profile. Read-only.

Inputs: account_id (required).

get_postGet a postA
Read-onlyIdempotent
Inspect

One LinkedIn or Instagram post by id or social_id, with text, counts, whether the account liked it, and every photo and video (carousels included). Counts as browsing.

Inputs: post_id (required), account_id (required).

get_post_mediaGet a post's photos and videosA
Read-onlyIdempotent
Inspect

Every photo and video of a post, reel or carousel, with a thumbnail and a short-lived link. Pass download with the item number (0 is the first) to get that file as base64 (at most 8 MB). Counts as browsing.

Inputs: post_id (required), account_id (required), download.

get_profileLook up a profileA
Read-onlyIdempotent
Inspect

A person's profile on a connected account (name, headline, location, profile URL, connection degree). On LinkedIn identifier is a profile URL, public id or member id, and the answer adds a linkedin block: connection degree, shared connections, whether an InMail is possible, open profile, and with sections the about text, experience, education, skills (with the endorsement_id endorse_skill takes) and contact info LinkedIn shows you. api sales_navigator or recruiter reads through that plan (needs the member id). The person is not notified. Each lookup is one profile view: 100 a day on a free or Premium account, 150 on Sales Navigator, 200 on Recruiter, fewer in the first weeks after connecting.

Inputs: account_id (required), identifier (required), api, sections.

get_reviewRead the Spaces reviewA
Read-onlyIdempotent
Inspect

The review and optional case study this workspace has left with Spaces, or null. Read-only.

Inputs: no named parameters.

get_startedNext setup stepA
Read-onlyIdempotent
Inspect

The next thing to do to set Spaces up for this workspace, in order: business brief, channels, setup test, then live. Call it, do what todo says, and call it again until next_step is live. Read-only.

Inputs: no named parameters.

get_user_presenceIs someone onlineB
Read-onlyIdempotent
Inspect

Whether a person is online now, and when they were last seen, where the platform shows it (online null when hidden). Counts as browsing.

Inputs: user_id (required), account_id (required).

list_applicantsList applicantsD
Read-onlyIdempotent
Inspect

People who applied. Read-only.

Inputs: job_id (required), account_id (required), extra.

list_approvalsList approvalsA
Read-onlyIdempotent
Inspect

Replies, new chats, posts, comments and private replies waiting for a person to approve them (status pending), or past ones by status: approving, sent, rejected, failed. Shows the text and target, never the attachments. Read-only.

Inputs: limit, status.

list_attendee_chatsList attendee chatsC
Read-onlyIdempotent
Inspect

1:1 chats with an attendee. Read-only.

Inputs: account_id (required), attendee_id (required), extra.

list_attendee_messagesList attendee messagesC
Read-onlyIdempotent
Inspect

Messages with an attendee. Read-only.

Inputs: account_id (required), attendee_id (required), extra.

list_attendeesList attendeesC
Read-onlyIdempotent
Inspect

People the account can message. Read-only.

Inputs: account_id (required), extra.

list_chat_attendeesPeople in a chatB
Read-onlyIdempotent
Inspect

The people in a conversation, with username, name and picture. Read-only.

Inputs: chat_id (required), account_id (required), limit, cursor.

list_chat_requestsList message requestsA
Read-onlyIdempotent
Inspect

Instagram message requests: conversations started by people the account does not follow, waiting to be accepted. A reply in the chat also accepts it. Read-only.

Inputs: account_id (required), limit, cursor.

list_comment_reactionsWho liked a commentB
Read-onlyIdempotent
Inspect

The people who liked a comment. Counts as browsing.

Inputs: post_id (required), account_id (required), comment_id (required), limit, +1 more.

list_commentsList comments on a postA
Read-onlyIdempotent
Inspect

Comments on a LinkedIn or Instagram post (pass its social_id). Pass comment_id to list replies under that comment. Not available on Messenger, X, or WhatsApp.

Inputs: post_id (required), account_id (required), limit, cursor, +1 more.

list_company_pagesCompany pages you manageA
Read-onlyIdempotent
Inspect

LinkedIn accounts only. The LinkedIn company pages this account administers. Use an id as as_organization in create_post to publish as the page. Counts as browsing.

Inputs: account_id (required).

list_contractsList contractsC
Read-onlyIdempotent
Inspect

Recruiter or Sales Navigator contracts. Read-only.

Inputs: account_id (required), extra.

list_event_webhooksList my event webhooksA
Read-onlyIdempotent
Inspect

The webhooks this key registered with create_event_webhook: url, events, last delivery status, failures in a row and whether it was turned off. Never the secret.

Inputs: no named parameters.

list_followersList followersA
Read-onlyIdempotent
Inspect

People who follow the account, or another person with user_id (their username works on Instagram). Instagram pages hold at most 25. Counts as browsing (30 an hour on Instagram). Private accounts show nothing.

Inputs: account_id (required), limit, cursor, user_id.

list_followingList who an account followsB
Read-onlyIdempotent
Inspect

Accounts the connected account follows, or another person with user_id. Counts as browsing.

Inputs: account_id (required), limit, cursor, user_id.

list_follow_requestsList follow requestsA
Read-onlyIdempotent
Inspect

People asking to follow a private Instagram account. Each id is the request id for accept_follow_request. Counts as browsing.

Inputs: account_id (required), limit, cursor.

list_hiring_projectsList hiring projectsD
Read-onlyIdempotent
Inspect

Recruiter hiring projects. Read-only.

Inputs: account_id (required), extra.

list_inboxesList inboxesB
Read-onlyIdempotent
Inspect

The account's inboxes, such as the main inbox and message requests (pending: true). Read-only.

Inputs: account_id (required).

list_invitationsList sent LinkedIn invitationsA
Read-onlyIdempotent
Inspect

LinkedIn accounts only. Invitations this account sent that are still pending, with when they were sent. Counts as browsing (30 an hour, 100 a day). Check this a few times a day, at random, not every hour.

Inputs: account_id (required), limit, cursor.

list_job_postingsList job postingsC
Read-onlyIdempotent
Inspect

Job posts on this LinkedIn account. Read-only.

Inputs: account_id (required), extra.

list_message_reactionsWho reacted to a messageB
Read-onlyIdempotent
Inspect

The emoji reactions on a message and who sent each one. Read-only.

Inputs: chat_id (required), account_id (required), message_id (required), limit, +1 more.

list_messagesList messagesC
Read-onlyIdempotent
Inspect

Messages across chats. Filter with the query string. Read-only.

Inputs: account_id (required), extra.

list_messaging_accountsList connected messaging accountsA
Read-onlyIdempotent
Inspect

Connected WhatsApp, Instagram, LinkedIn, Messenger and X accounts in your workspace (id, channel, name, status, connected_at, status_since, last_event_at). Use the id as account_id in the other messaging tools. Filter with q (name or id), channel and status (comma lists; status needs_attention means anything not OK), sort (connected_at, name, channel, status; leading - for descending), limit and cursor (from next_cursor). last_event_at is when the platform last sent an event for the account (null if none yet): an old one on a busy account can mean it went quiet. No provider ids.

Inputs: q, sort, limit, cursor, +3 more.

list_messaging_chatsList chats (inbox)A
Read-onlyIdempotent
Inspect

Chats of one connected account, newest first (id, name, unread_count, last_message_at, tags, owner). Paged: pass next_cursor back as cursor. Filters: unread: true for unread chats; unanswered: true for chats whose last message is from the customer (at most 30 a page); tag for chats with that tag; owner as none, me, a workspace user id or an email. A filtered page can hold fewer chats than limit, so keep paging while next_cursor is set. Read-only. Each chat also has handed_over and handed_to (a workspace user id or null): never write in a handed-over chat. handed_over: true or false narrows the page to chats that are or are not handed to a person. Each chat also has starred, archived, marked_unread, pinned, muted and is_request. starred: true lists starred chats; archived: false hides archived ones (archived: true lists only them); requests: true lists Instagram message requests (people the account does not follow). Chats are answered from Spaces' own copy where it holds them (source: cache), so reading does not put pressure on the platform; the answer has account_budget, and next_check_after_seconds says how long to wait before checking again. Do not poll faster. account_budget.stage is the warm-up stage and left_today what is left today of each action (messages, new_chats, profile_lookups, searches, reads). To learn about new messages, call wait_for_events instead of calling this again: it waits for the next event and never touches the platform. Before you reply to a customer, read the business brief with get_business_brief and follow it: its facts, tone, never-promise rules and when to hand over to a person.

Inputs: account_id (required), tag, limit, owner, +7 more.

list_messaging_messagesRead a chatA
Read-onlyIdempotent
Inspect

Messages in one chat of a connected account, newest first (text, is_sender, sent_at, seen, reactions, quoted, message_type, attachments). Paged with cursor: keep passing next_cursor to go back through older history. Each attachment has a kind (image, video, gif, sticker, audio, voice_note, file, shared_post, shared_reel, shared_story, shared_profile, shared_link), size, duration and a short-lived url where the platform gives one; a shared post, reel, story or profile has shared { kind, url, author, caption, thumbnail_url }. On Instagram, message_type story_mention means the person mentioned the account in their story, story_reply that they replied to its story. Messages come from Spaces' own copy where it holds them (source: cache); older history comes from the platform slowly, in small pages, and a 429 means wait retry_after. The answer has account_budget: wait next_check_after_seconds before checking the chat again, and do not poll faster. To learn about new messages, call wait_for_events instead of reading chats again and again. Read-only. Before you reply to a customer, read the business brief with get_business_brief and follow it: its facts, tone, never-promise rules and when to hand over to a person.

Inputs: chat_id (required), account_id (required), limit, cursor.

list_own_postsList your postsC
Read-onlyIdempotent
Inspect

Posts on the connected LinkedIn or Instagram account. Use social_id for comments. Not available on Messenger, X, or WhatsApp.

Inputs: account_id (required), limit, cursor.

list_post_reactionsWho liked a postA
Read-onlyIdempotent
Inspect

The people who liked (or reacted to) a post, with username, name and picture. Instagram shows at most the latest 100. Counts as browsing.

Inputs: post_id (required), account_id (required), limit, cursor.

list_profile_viewersWho viewed my LinkedIn profileA
Read-onlyIdempotent
Inspect

LinkedIn accounts only. People who recently viewed this account's profile, newest first, with their headline and connection degree, plus the total views when LinkedIn gives it. A free account sees fewer viewers. Counts as browsing; LinkedIn asks for this to be checked only a few times a day.

Inputs: account_id (required), limit, cursor.

list_received_invitationsList LinkedIn invitations you receivedA
Read-onlyIdempotent
Inspect

LinkedIn accounts only. Invitations waiting for this account: who sent them, their headline and any note. Answer one with respond_to_invitation. Counts as browsing.

Inputs: account_id (required), limit, cursor.

list_relationsList LinkedIn connectionsB
Read-onlyIdempotent
Inspect

LinkedIn accounts only. This account's 1st-degree connections, newest first. Counts as browsing.

Inputs: account_id (required), limit, cursor.

list_routine_runsList routine runsB
Read-onlyIdempotent
Inspect

Recent runs for one routine, with errors.

Inputs: routine_id (required).

list_routinesList routinesB
Read-onlyIdempotent
Inspect

Routines in this workspace, including paused ones and the reason.

Inputs: no named parameters.

list_scheduled_postsList scheduled postsA
Read-onlyIdempotent
Inspect

Scheduled posts in this workspace, including published, cancelled and failed ones, with the next publish time and the last error. Pass account_id for one account.

Inputs: account_id.

list_schedulesList scheduled messagesB
Read-onlyIdempotent
Inspect

Scheduled messages for this workspace, including sent, cancelled and failed.

Inputs: no named parameters.

list_search_parametersList search parametersC
Read-onlyIdempotent
Inspect

Ids LinkedIn expects instead of raw search text. Read-only.

Inputs: account_id (required), extra.

list_user_commentsComments someone wroteB
Read-onlyIdempotent
Inspect

Recent comments written by a person, as far as the platform shows them. Counts as browsing.

Inputs: user_id (required), account_id (required), limit, cursor.

list_user_postsList posts of a person or companyB
Read-onlyIdempotent
Inspect

Recent posts of a person or LinkedIn company, or an Instagram user by username (id, social_id, text, counts, media). Use social_id for comments, likes and get_post_media. Counts as browsing (LinkedIn 30 an hour and 100 a day, Instagram 10 an hour and 100 a day, shared with likes, comments, follows and new chats).

Inputs: account_id (required), identifier (required), limit, cursor.

list_user_reactionsLikes someone gaveB
Read-onlyIdempotent
Inspect

Recent likes and reactions by a person, as far as the platform shows them. Counts as browsing.

Inputs: user_id (required), account_id (required), limit, cursor.

search_linkedinSearch LinkedInA
Read-onlyIdempotent
Inspect

LinkedIn accounts only. Find people, companies, posts or jobs. Give keywords, filters (LinkedIn's own names, for example {"location": ["103644278"], "network_distance": [2], "industry": ["4"]}, with ids from list_search_parameters), or url: a search link copied from LinkedIn. api sales_navigator or recruiter searches with that plan (people, and companies on Sales Navigator). Each page is one search: 100 a day, at least 15 seconds apart, with up to 10 results a page on a classic people or company search (about 1,000 results) and 25 otherwise (about 2,500 on Sales Navigator or Recruiter). Use it to find the right person, not to build lists for unsolicited messages.

Inputs: account_id (required), api, url, limit, +4 more.

search_placesFind a place to tagA
Read-onlyIdempotent
Inspect

Instagram places matching a name, to tag in create_post (pass the id as location). NOT_AVAILABLE where the connection does not offer it. Counts as browsing.

Inputs: query (required), account_id (required).

send_feedbackSend feedback to the Spaces teamA
Idempotent
Inspect

Report a bug, a missing feature or a gap in the docs to the people who build Spaces. Say what you tried, what happened and what you expected; include the endpoint or tool and any request id. Never include message text or personal data from a customer chat.

Inputs: message (required), type, endpoint, request_id.

start_setup_testStart the setup testA
Idempotent
Inspect

Starts the test for one connected account and returns ask_person: what the person should do, for example send any message to the account from another phone. Tell them, then call check_setup_test. Starting again restarts the test. Sends nothing.

Inputs: account_id (required).

sync_attendeeSync attendeeC
Read-onlyIdempotent
Inspect

Sync chats for an attendee. Read-only.

Inputs: account_id (required), attendee_id (required), extra.

sync_chatSync chatC
Read-onlyIdempotent
Inspect

Sync a chat from the start, or read the sync status. Read-only.

Inputs: chat_id (required), account_id (required), extra.

wait_for_eventsWait for new messages and eventsA
Read-only
Inspect

The way to check for new messages. Waits until something new happens on your connected accounts, then returns it: new messages, read receipts, reactions, edits and deletes, comments on your posts, LinkedIn invitations received and accepted, new followers, account status changes, and an account starting to rest. It returns at once when there are events, and otherwise waits up to wait_seconds (default 30, at most 50) for the first one. It reads Spaces' own event stream and never touches the platform, so it is safe to call again and again. Call it in a loop instead of calling list_messaging_chats or list_messaging_messages to look for news: repeated platform checks look like a bot and can get an account restricted. Pass the next_cursor of the last answer as after to continue exactly from there; without after it continues from where this key got to last time (the first time, the last 24 hours). after: now skips the backlog. Filter with types (a list) and account_id. billing.card_required means the workspace needs a card before sending can continue: tell the person, and give them add_card_url. review.invite means they may want to leave a short review: ask first, then submit_review only after they agree. message.received carries the text (up to 1,000 characters, text_truncated when cut), the sender and chat_id: answer with reply_in_chat, and skip is_sender: true, which is the account's own message. Read a chat with list_messaging_messages only when you need more context. Events are kept 14 days.

Inputs: after, limit, types, account_id, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
      16
      9 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources