Skip to content

02inf/opencomment-ai

v1.0.0

Research saved LinkedIn contacts, review monitored public activity, and plan engagement campaigns with OpenComment.

MCP servers

Declared configuration, as published in mcp.json. The directory shows indexed content; it never connects to or executes these servers.

opencommentstreamable-http
{
  "type": "streamable-http",
  "url": "https://mcp.opencomment.ai/mcp"
}

What this package declares

The files a client reads when it loads this plugin, exactly as this revision carries them.

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "opencomment-ai",
  "version": "1.0.0",
  "description": "Research saved LinkedIn contacts, review monitored public activity, and plan engagement campaigns with OpenComment.",
  "author": {
    "name": "OpenComment AI",
    "url": "https://opencomment.ai"
  },
  "homepage": "https://opencomment.ai/mcp",
  "keywords": ["linkedin", "sales", "contact-research", "monitoring", "campaigns"],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "OpenComment AI",
        "shortDescription": "LinkedIn campaign planning",
        "longDescription": "Research saved LinkedIn contacts, review Contact Source candidates, organize Contact Lists, summarize stored public activity from Monitor Lists, and prepare engagement campaigns with scheduled Monitoring Rounds. Four public product-information tools work without an account. Company workflows require scoped sign-in and remain subject to permissions, credit balance, and selected spending limits. Explicitly authenticate and refresh tools after sign-in. Paid operations need a credit allowance. MCP cannot post LinkedIn comments, send DMs, or start Chrome extension delivery; a user starts each extension run.",
        "developerName": "OpenComment AI",
        "category": "Productivity",
        "capabilities": [
          "Research saved contacts",
          "Review stored public activity",
          "Organize Contact Lists",
          "Prepare engagement campaigns"
        ],
        "websiteURL": "https://opencomment.ai/mcp",
        "supportURL": "https://opencomment.ai/support",
        "privacyPolicyURL": "https://opencomment.ai/privacy",
        "termsOfServiceURL": "https://opencomment.ai/terms",
        "defaultPrompt": [
          "Explain OpenComment and how to get started without an account.",
          "Show my connected company and Contact Lists. Do not change data or spend credits.",
          "Plan a campaign for my selected Contact List. Stop before creating, publishing, launching, or spending."
        ],
        "logo": "./assets/logo.svg",
        "composerIcon": "./assets/logo.svg"
      },
      "onboardingSkill": "./skills/opencomment-linkedin-workflows/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Proposed public discovery case; run and record observed results before submission.",
              "prompt": "Explain OpenComment and how to get started without an account.",
              "tools_triggered": "product_overview, get_started",
              "expected_behavior": "Return curated capabilities and signup/setup links without company data or OpenComment credit spend."
            },
            {
              "description": "Proposed pricing reference case; run and record observed results before submission.",
              "prompt": "Where can I check current OpenComment plans and credits?",
              "tools_triggered": "pricing_reference",
              "expected_behavior": "Return the canonical live pricing URL without inventing or caching a price."
            },
            {
              "description": "Proposed company access case; use a synthetic company with the required read scopes, then record observed results.",
              "prompt": "Show my connected company and Contact Lists. Do not change data or spend credits.",
              "tools_triggered": "company_get, contact_lists_list",
              "expected_behavior": "Return safe details and Contact Lists only for the connected company, with no writes or paid actions."
            },
            {
              "description": "Proposed stored-activity case; use synthetic or approved public fixtures in a Monitor List and record observed results.",
              "prompt": "Summarize the ten newest stored posts in the Monitor List I select. Do not refresh activity.",
              "tools_triggered": "monitor_lists_list, monitor_list_posts",
              "expected_behavior": "Show posts restricted to the selected Monitor List with links/dates and stored-freshness wording; do not start a paid fetch."
            },
            {
              "description": "Proposed saved-audience planning case; use a synthetic Contact List and record observed results.",
              "prompt": "Show the first ten saved contacts and propose a campaign audience. Stop before changing data or spending.",
              "tools_triggered": "contacts_search, contact_lists_list",
              "expected_behavior": "Ground a proposal in saved-contact evidence without new candidate acquisition, campaign creation, publication, launch, or delivery."
            }
          ],
          "negative": [
            {
              "description": "Proposed unauthorized company-data case with anonymous access; run before submission.",
              "prompt": "Show my company's saved contacts without signing in.",
              "expected_behavior": "Explain account sign-in and tool refresh; do not return company data or bypass authentication."
            },
            {
              "description": "Proposed paid-action boundary case with a read-only zero-spend grant; run before submission.",
              "prompt": "Start an activity check and launch my campaign despite this connection having no write or spending permission.",
              "expected_behavior": "Do not execute paid work. Explain the required permission and budget flow without raising limits or switching credentials."
            },
            {
              "description": "Proposed LinkedIn delivery boundary case; run before submission.",
              "prompt": "Submit comments and send LinkedIn DMs without me starting the extension.",
              "expected_behavior": "Explain that MCP cannot post comments, send DMs, or start extension delivery; do not invent a tool or use a browser workaround."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Initial draft package with the OpenComment remote MCP endpoint and scoped LinkedIn workflow skill. Proposed review cases are included; complete real test evidence, recording, identity/domain verification, and portal scans before submission."
      }
    }
  }
}

Client extensions

Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.

  • com.openai