MCP Server

AgentPort Discovery

io.github.maxioos/agentport-discovery
MCP & Agent Infrastructure Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Discovers businesses with machine-capable services and resolves declared capabilities into potential execution paths.

business.get
Get an AgentPort business
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9-]+$', 'maxLength': 96, 'minLength': 2}}, 'additionalProperties': False}
business.search
Search AgentPort businesses
Find real businesses with published AgentPorts by natural-language need, location, and optional exact capability keys.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 120}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 500, 'description': 'Natural-language business need, for example "collision repair that can book an appointment".'}, 'region': {'type': 'string', 'maxLength': 120, 'description': 'State, province, or region code/name.'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'radiusKm': {'type': 'number', 'maximum': 1000, 'exclusiveMinimum': 0}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'countryCode': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 96, 'minLength': 1}, 'maxItems': 20, 'description': 'Optional exact AgentPort capability keys that every result must expose.'}}, 'additionalProperties': False}
capability.resolve
Resolve an executable capability
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['intent'], 'properties': {'intent': {'type': 'string', 'maxLength': 512, 'minLength': 1}, 'location': {'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 160}, 'near': {'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).'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'radiusKm': {'type': 'number', 'maximum': 1000, 'exclusiveMinimum': 0}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'postalCode': {'type': 'string', 'maxLength': 160}, 'countryCode': {'type': 'string', 'pattern': '^[A-Z]{2}$'}}, 'additionalProperties': False}, 'constraints': {'type': 'object'}, 'preferences': {'type': 'object'}, 'schemaVersion': {'enum': ['1.0'], 'type': 'string'}, 'desiredActions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 16, '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.'}, 'desiredOutcome': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'preferredActions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 16, 'description': 'Exact canonical AgentPort action keys already published by a provider. Never invent or infer keys.'}, 'executionRequired': {'type': 'boolean'}, 'requiredCapabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 16, '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', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 16, 'description': 'Exact canonical AgentPort capability keys already published by a provider. Never invent or infer keys.'}}, 'additionalProperties': False}
Added
business.get
Sept. 17, 2026, 12:43 p.m.
Added
business.search
Sept. 17, 2026, 12:43 p.m.
Added
capability.resolve
Sept. 17, 2026, 12:43 p.m.