← Files NorthspyreARCHIVED FILE

plugin.json

8.13 KB · Nov 6, 2026 · 07:26 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "northspyre",
  "version": "0.1.0",
  "description": "Connect to the Northspyre MCP server to work with real estate development projects, budgets, invoices, vendors, and schedules.",
  "author": {
    "name": "Northspyre"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Northspyre",
        "shortDescription": "Real estate development tools",
        "longDescription": "Connect your Northspyre account to work with real estate development projects and portfolio data. Review project details, budgets, invoices, vendors, and schedules, and perform requested updates using the tools available to your account. Requires Northspyre sign-in; access depends on your organization, account permissions, and granted scopes.",
        "developerName": "Northspyre",
        "category": "Productivity",
        "logo": "./assets/northspyre.png",
        "composerIcon": "./assets/northspyre.png",
        "brandColor": "#00A9E0",
        "defaultPrompt": [
          "Show the Northspyre projects I can access.",
          "Summarize a Northspyre project\u2019s budget and invoiced amount.",
          "Find open invoices for a Northspyre project."
        ],
        "websiteURL": "https://www.northspyre.com/",
        "privacyPolicyURL": "https://www.northspyre.com/privacypolicy",
        "termsOfServiceURL": "https://www.northspyre.com/terms-and-conditions",
        "supportURL": "https://support.northspyre.com/"
      },
      "publication": {
        "release_notes": "Initial release connecting the Northspyre MCP server with Northspyre branding and OAuth sign-in.",
        "countries": []
      },
      "review": {
        "commerce": false,
        "test_cases": {
          "positive": [
            {
              "description": "Use the dedicated reviewer account provided through the secure portal fields. This account has its own test project and is different from the account in the demo recording. Discover accessible projects with list_projects; do not assume any project name or ID from the recording. Verify organization selection and effective MCP access against whoami.",
              "prompt": "Which Northspyre organization am I connected to, and can I make updates?",
              "tools_triggered": "northspyre_whoami",
              "expected_behavior": "Invoke whoami with no arguments. Report selected organization and effective write access from the returned session data. If a denial is returned, explain it and do not claim access."
            },
            {
              "description": "Use the dedicated reviewer account provided through the secure portal fields. This account has its own test project and is different from the account in the demo recording. Discover accessible projects with list_projects; do not assume any project name or ID from the recording. Run independently. No project-selection setup is required.",
              "prompt": "Show the Northspyre projects I can access.",
              "tools_triggered": "northspyre_list_projects",
              "expected_behavior": "Invoke list_projects without invented filter arguments. Show only returned accessible projects with their actual names and IDs. Do not use the demonstration account or invent additional projects. If no projects are returned, state that and report the test setup issue."
            },
            {
              "description": "Use the dedicated reviewer account provided through the secure portal fields. This account has its own test project and is different from the account in the demo recording. Discover accessible projects with list_projects; do not assume any project name or ID from the recording. Run independently. Call list_projects and select one returned test project, using the smallest numeric Id for reproducibility. State the selected name and ID. The reviewer need not create or configure a project. ",
              "prompt": "Choose one of my accessible Northspyre test projects and summarize its approved budget and invoiced amount.",
              "tools_triggered": "northspyre_list_projects, northspyre_get_project",
              "expected_behavior": "Call list_projects, select a returned test project, and call get_project with project_id equal to its Id. Report the selected ProjectName, TotalApprovedBudget, and TotalInvoicedToDate from the response. Report missing access or values truthfully; do not use a name or ID from the demonstration video."
            },
            {
              "description": "Use the dedicated reviewer account provided through the secure portal fields. This account has its own test project and is different from the account in the demo recording. Discover accessible projects with list_projects; do not assume any project name or ID from the recording. Run independently. Call list_projects and select one returned test project, using the smallest numeric Id for reproducibility. State the selected name and ID. The reviewer need not create or configure a project. For populated-result coverage, the supplied test project must contain budget transactions; verify this in the final portal test.",
              "prompt": "Choose one of my accessible Northspyre test projects and show its budget transactions grouped by budget line.",
              "tools_triggered": "northspyre_list_projects, northspyre_get_budgets",
              "expected_behavior": "Call list_projects, select a returned test project, and call get_budgets with project_id equal to its Id. Group returned entries by BudgetLineId and BudgetLineName, retaining actual labels and amounts. Any calculated totals must match sums of returned Amount values. If no transactions are returned, say so; do not invent transactions or replace missing values with assumed values."
            },
            {
              "description": "Use the dedicated reviewer account provided through the secure portal fields. This account has its own test project and is different from the account in the demo recording. Discover accessible projects with list_projects; do not assume any project name or ID from the recording. Run independently. Call list_projects and select one returned test project, using the smallest numeric Id for reproducibility. State the selected name and ID. The reviewer need not create or configure a project. For filter coverage, the supplied test project must contain an open invoice and a paid invoice; verify this in the final portal test.",
              "prompt": "Choose one of my accessible Northspyre test projects and find its open invoices, including invoice numbers and amounts.",
              "tools_triggered": "northspyre_list_projects, northspyre_list_invoices",
              "expected_behavior": "Call list_projects, select a returned test project, and call list_invoices with project_id equal to its Id and payment_status=\"open\". Report returned InvoiceNumber and TotalAmount values. Do not include paid invoices. If the result is empty, state that no open invoices were returned; do not invent an invoice."
            }
          ],
          "negative": [
            {
              "description": "Northspyre records payment information but the exposed tools do not execute a bank transfer. Explain this limit and do not invoke create_payment, update_payment, or any other tool to imply funds were transferred.",
              "prompt": "Wire $10,000 from my bank account to pay a Northspyre vendor now."
            },
            {
              "description": "Municipal permit filing is outside the exposed MCP capabilities. Explain the limit; do not invoke Northspyre tools or claim a permit was submitted.",
              "prompt": "Submit our signed building permit application to the city permitting portal."
            },
            {
              "description": "Tax filing is outside the exposed MCP capabilities. Explain the limit; do not invoke Northspyre tools or claim a tax return was filed.",
              "prompt": "File our company tax return with the IRS using our Northspyre financial data."
            }
          ]
        },
        "demo_recording_url": "https://www.loom.com/share/7d6b18e873d44bb783fe28e3d47b6283"
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: b606c76ea4a8aa66ea426e918b3cd32e5185219da9cb432f4dc0fb882b3d80c7