AgentPort Discovery

Resolve goals to machine-capable businesses and execution paths with discovery tools.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
81%
Naming quality
50%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringin capability.resolve
  • LOWTool 'capability.resolve' doesn't follow camelCase/snake_casein capability.resolve
  • LOWTool 'business.search' doesn't follow camelCase/snake_casein business.search
  • LOWTool 'business.get' doesn't follow camelCase/snake_casein business.get

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~974Tokens (tool definitions)
~3.0 KBTypical response size
Moderate attention impact (0.76% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agentport-discovery": {
      "url": "https://discover.agentport.maxioos.com/mcp"
    }
  }
}

Remote endpoints

https://discover.agentport.maxioos.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢capability.resolve(schemaVersion, intent, desiredOutcome, location, requiredCapabilities, ...)

Final discovery step for actionable goals: resolve a structured user goal to ranked machine-capable resources and provider-owned execution paths without executing the selected action. Use this after business.search/business.get whenever the user asks whether a provider can expose a machine-capable action or execution path. Any requiredCapabilities/preferredCapabilities/desiredActions/preferredActions values must be exact canonical AgentPort keys already published by a provider; never invent keys. If exact keys are unknown, use business.search and business.get first.

Input Schema

{
  "type": "object",
  "properties": {
    "schemaVersion": {
      "type": "string",
      "enum": [
        "1.0"
      ]
    },
    "intent": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512
    },
    "desiredOutcome": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "location": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "near": {
          "type": "string",
          "maxLength": 160
        },
        "city": {
          "type": "string",
          "maxLength": 160
        },
        "region": {
          "type": "string",
          "maxLength": 160,
          "description": "Region must match provider-published geography when used as a hard location requirement (for example WA rather than an invented synonym)."
        },
        "countryCode": {
          "type": "string",
          "pattern": "^[A-Z]{2}$"
        },
        "postalCode": {
          "type": "string",
          "maxLength": 160
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180
        },
        "radiusKm": {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 1000
        }
      }
    },
    "requiredCapabilities": {
      "type": "array",
      "maxItems": 16,
      "items": {
        "type": "string",
        "maxLength": 128
      },
      "description": "Exact canonical AgentPort capability keys already published by a provider. Never invent or infer keys; discover them with business.search/business.get first when unknown."
    },
    "preferredCapabilities": {
      "type": "array",
      "maxItems": 16,
      "items": {
        "type": "string",
        "maxLength": 128
      },
      "description": "Exact canonical AgentPort capability keys already published by a provider. Never invent or infer keys."
    },
    "desiredActions": {
      "type": "array",
      "maxItems": 16,
      "items": {
        "type": "string",
        "maxLength": 128
      },
      "description": "Exact canonical AgentPort action keys already published by a provider (for example appointment.get_availability or appointment.create). Never invent or infer keys; discover them with business.search/business.get first when unknown."
    },
    "preferredActions": {
      "type": "array",
      "maxItems": 16,
      "items": {
        "type": "string",
        "maxLength": 128
      },
      "description": "Exact canonical AgentPort action keys already published by a provider. Never invent or infer keys."
    },
    "executionRequired": {
      "type": "boolean"
    },
    "constraints": {
      "type": "object"
    },
    "preferences": {
      "type": "object"
    }
  },
  "required": [
    "intent"
  ],
  "additionalProperties": false
}
🟢business.search(query, city, region, countryCode, capabilities, ...)

Find real businesses with published AgentPorts by natural-language need, location, and optional exact capability keys.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 500,
      "description": "Natural-language business need, for example \"collision repair that can book an appointment\"."
    },
    "city": {
      "type": "string",
      "maxLength": 120
    },
    "region": {
      "type": "string",
      "maxLength": 120,
      "description": "State, province, or region code/name."
    },
    "countryCode": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "pattern": "^[A-Za-z]{2}$"
    },
    "capabilities": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 96
      },
      "description": "Optional exact AgentPort capability keys that every result must expose."
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "radiusKm": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  },
  "additionalProperties": false
}
🟢business.get(slug)

Inspection step: resolve one discovered business by its stable AgentPort registry slug and inspect its exact published capability/action keys. For actionable requests, this is not final resolution; call capability.resolve after the relevant canonical keys are known.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 2,
      "maxLength": 96,
      "pattern": "^[a-z0-9][a-z0-9-]+$"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools