← Files JoinARCHIVED FILE

plugin.json

6.19 KB · Nov 6, 2026 · 07:17 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "author": {
    "email": "drew@join.build",
    "name": "Drew Wolpert"
  },
  "description": "Connect to Join to work with construction project decisions, costs, schedules, and risks.",
  "extensions": {
    "com.openai": {
      "interface": {
        "capabilities": [],
        "category": "Business & Operations",
        "defaultPrompt": [
          "List my Join projects.",
          "Show pending items for my project.",
          "Summarize cost status for my project."
        ],
        "developerName": "Join Inc.",
        "displayName": "Join",
        "longDescription": "Join aligns owners, design teams, and contractors within a unified system of record for preconstruction and the design phase. \n\nThis plugin connects your Join account so you can work with your project data in the flow of a conversation and create custom artifacts from it. Review open items and make updates interactively based on a meeting outcome; create a project overview A3; analyze all your projects' items for inspiration or to understand trends.\n\nEvery result links back to the corresponding record in the Join web app, so you can jump from an answer straight into the project. The plugin reads and writes only the data your Join account can already see: you sign in to Join the first time you use it, and all access is scoped to your own permissions and your company's projects.\n\nYou need a Join account to use this plugin.",
        "shortDescription": "Manage preconstruction data",
        "logo": "./assets/logo.png",
        "composerIcon": "./assets/composer.png",
        "logoDark": "./assets/logo-dark.png",
        "composerIconDark": "./assets/composer-dark.png",
        "websiteURL": "https://join.build",
        "supportURL": "https://success.join.build/en/knowledge",
        "privacyPolicyURL": "https://join.build/privacy/",
        "termsOfServiceURL": "https://join.build/terms-of-use/"
      },
      "publication": {
        "countries": [],
        "release_notes": "Initial public release of the Join MCP integration, with OAuth sign-in and access to project data according to Join permissions."
      },
      "review": {
        "commerce_description": "No purchases, upgrades, or payments are offered through the plugin. All billing is handled separately through Join. A Join account with access to a project is required; users do not need their own paid Join subscription.",
        "prompts": [
          "List my Join projects.",
          "Show pending items for my project.",
          "Summarize cost status for my project."
        ],
        "demo_recording_url": "https://www.loom.com/share/bcaa790f947e4447a3c242251cee6d0c",
        "test_cases": {
          "positive": [
            {
              "description": "Use the demo account with access to the sandbox project. Enumerate project membership and follow pagination.",
              "prompt": "List my Join projects.",
              "tools_triggered": "list-my-projects",
              "expected_behavior": "Call list-my-projects with scope my; report returned names and project URLs, including the sandbox project when present. Do not invent projects."
            },
            {
              "description": "Use the demo account and the sandbox project; discover its ID before querying items.",
              "prompt": "Show pending items on Springs Health Clinic - OpenAI MCP sandbox.",
              "tools_triggered": "list-my-projects, search-items",
              "expected_behavior": "Resolve the sandbox project, then search-items with scope my and filters.projectNames matching the sandbox project and filters.statuses containing PENDING. Return only returned matching items with their URLs; accurately report an empty result."
            },
            {
              "description": "Use the sandbox project accessible to the demo account.",
              "prompt": "Summarize cost status on Springs Health Clinic - OpenAI MCP sandbox.",
              "tools_triggered": "list-my-projects, project-costs",
              "expected_behavior": "Resolve the sandbox project ID; call project-costs for that ID. Explain the returned total and category breakdown, grounding any budget comparison in actual project data."
            },
            {
              "description": "Use the sandbox project; include pagination when present.",
              "prompt": "What milestones are on Springs Health Clinic - OpenAI MCP sandbox?",
              "tools_triggered": "list-my-projects, milestones-for-project",
              "expected_behavior": "Resolve the sandbox project ID and call milestones-for-project with it. List returned milestone names and dates and identify the active milestone using activeMilestoneID."
            },
            {
              "description": "Use the demo account's sandbox project shared risk register.",
              "prompt": "List the shared project risks on Springs Health Clinic - OpenAI MCP sandbox.",
              "tools_triggered": "list-my-projects, risks-for-project",
              "expected_behavior": "Resolve the sandbox project ID, then call risks-for-project with that ID and riskType PROJECT. Summarize only returned risks and their statuses, impact and likelihood; handle no risks accurately."
            }
          ],
          "negative": [
            {
              "description": "Billing is outside the plugin. Explain the limitation without invoking Join tools or claiming payment.",
              "prompt": "Upgrade my Join subscription and charge my credit card."
            },
            {
              "description": "The plugin does not edit CAD or BIM model geometry. Explain the limitation; do not invoke Join tools or claim a model edit.",
              "prompt": "Move the clinic's exterior wall three feet east in the Revit model."
            },
            {
              "description": "User invitations are not available through this MCP tool set. Explain the limitation without invoking Join tools or claiming an invitation was sent.",
              "prompt": "Invite a new teammate to my Join project and grant them administrator access."
            }
          ]
        }
      },
      "apps": "./.app.json"
    }
  },
  "name": "join-mcp",
  "version": "0.1.3"
}

SHA-256: 2362a2dc875623b1bf329c277f96c13c37dcb02791c2e2dc85ae3c6083d62911