← Files PartsPerkARCHIVED FILE

plugin.json

5.57 KB · Nov 3, 2026 · 19:05 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "partsperk",
  "version": "1.0.0",
  "description": "Search PartsPerk's aviation-part and identifier graph by part number, NSN, NIIN, CAGE, manufacturer, aircraft or description. Open Part Passports, inspect evidence and uncertainty, and prepare sourcing requests for review on PartsPerk. PartsPerk does not automatically assert current stock, pricing, interchangeability, certification or airworthiness.",
  "author": {
    "name": "PartsPerk Aviation LLC",
    "email": "contact@partsperk.com",
    "url": "https://partsperk.com"
  },
  "homepage": "https://partsperk.com",
  "repository": "https://github.com/Jannatpour/partsperk",
  "license": "UNLICENSED",
  "keywords": [
    "aviation",
    "parts",
    "nsn",
    "rfq",
    "mcp"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "PartsPerk",
        "shortDescription": "Aviation parts & RFQs",
        "longDescription": "Search PartsPerk's aviation-part and identifier graph by part number, NSN, NIIN, CAGE, manufacturer, aircraft or description. Open Part Passports, inspect evidence and uncertainty, and prepare sourcing requests for review on PartsPerk. PartsPerk does not automatically assert current stock, pricing, interchangeability, certification or airworthiness.",
        "developerName": "PartsPerk Aviation LLC",
        "category": "Productivity",
        "capabilities": [
          "Read"
        ],
        "websiteURL": "https://partsperk.com",
        "supportURL": "https://partsperk.com/support/chatgpt",
        "privacyPolicyURL": "https://partsperk.com/privacy#chatgpt-plugin",
        "termsOfServiceURL": "https://partsperk.com/terms",
        "defaultPrompt": [
          "RFQ MS9556-10",
          "Find MS9556-10 on PartsPerk and show the Part Passport.",
          "Resolve NSN 5310-00-001-1234 and prepare a quote handoff."
        ],
        "brandColor": "#1d4ed8",
        "composerIcon": "./assets/composer-icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "demo_recording_url": "https://partsperk-openai-review-demo.vercel.app/partsperk-plugin-demo-20261021.webm",
        "test_cases": {
          "positive": [
            {
              "description": "Find a published part and open Part Passport facts",
              "prompt": "Find MS9556-10 on PartsPerk and show the Part Passport.",
              "tools_triggered": "partsperk_search_parts, partsperk_resolve_identifier, partsperk_get_part_passport, search, fetch",
              "expected_behavior": "Returns PartsPerk public facts and an absolute https://partsperk.com Part Passport URL. Does not invent stock, price, or airworthiness."
            },
            {
              "description": "Resolve NSN with literal identifier preservation",
              "prompt": "Resolve NSN 5310-00-001-1234 on PartsPerk.",
              "tools_triggered": "partsperk_resolve_identifier, partsperk_search_parts",
              "expected_behavior": "Preserves NSN characters literally; returns typed identity or honest empty/AMBIGUOUS \u2014 never a guessed bind."
            },
            {
              "description": "Show public evidence for a published part",
              "prompt": "Show PartsPerk evidence for MS9556-10.",
              "tools_triggered": "partsperk_get_part_evidence, partsperk_resolve_identifier",
              "expected_behavior": "Returns public evidence envelope only; no private internal fields; no interchange invention."
            },
            {
              "description": "RFQ shortcut one-command resolve then prepare_quote (Release 1)",
              "prompt": "RFQ MS9556-10",
              "tools_triggered": "partsperk_resolve_identifier, partsperk_prepare_quote",
              "expected_behavior": "Resolves literal MS9556-10, returns review_url without inventing quantity/condition; submits=false / offer_state rfq_required; never claims RFQ was submitted."
            },
            {
              "description": "Ambiguous identifier stays unresolved",
              "prompt": "Find part 300-824 on PartsPerk and bind the single correct SKU.",
              "tools_triggered": "partsperk_resolve_identifier, partsperk_search_parts, search",
              "expected_behavior": "Empty or AMBIGUOUS multi-match; refuses to invent a single stock/price bind."
            }
          ],
          "negative": [
            {
              "description": "Non-parts weather query must not invent aviation commerce",
              "prompt": "What's the weather at LAX?"
            },
            {
              "description": "Refuse airworthiness determination",
              "prompt": "Is this part airworthy? Certify it for flight."
            },
            {
              "description": "Refuse invented live stock and unit price",
              "prompt": "Give me live stock and unit price for MS9556-10 and charge my card now."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "PartsPerk prepares confirmable Get Quote handoffs. Buyers confirm on PartsPerk. The plugin does not sell inventory, process payments, or auto-submit RFQs."
      },
      "publication": {
        "release_notes": "Anonymous MCP at https://partsperk.com/mcp (auth none): five canonical partsperk_* tools plus Company Knowledge search/fetch over public catalog URLs; annotations, outputSchema, and structuredContent; pure prepare_quote handoff with no DomainEvent write; Agent Plugins 1.0.0 package. Directory Publish not claimed until OpenAI review completes."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 0558ba0fb90d4eb09729ba436f65d04b1c487de736c800c64938a395339646d6