Executor is built on a modular plugin architecture that allows it to interface with diverse external systems, ranging from standard web protocols to proprietary APIs and local secret managers. Plugins are the primary mechanism for extending the Executor with new tools, authentication methods, and UI components.
The system defines a strict contract for plugins, enabling them to contribute to both the "Code Entity Space" (SDK/API) and the "Natural Language Space" (Agent-visible tools). Plugins typically export several entry points, as seen in standard package structures like @executor-js/plugin-openapi packages/plugins/openapi/package.json18-26:
. / ./promise): Core logic for tool discovery and invocation../api): Server-side routes for managing integration instances../react / ./client): UI components for registration and configuration.The following diagram illustrates how a plugin bridges raw external specifications to the internal Executor catalog.
System Bridge: Spec to Tool Catalog
Sources: packages/plugins/openapi/package.json18-26 packages/plugins/openapi/src/react/AddOpenApiSource.tsx128 packages/core/sdk/package.json19-21
The OpenAPI plugin transforms standard REST specifications into executable tools. It handles complex tasks such as auth template detection (OAuth2, Bearer, etc.), health check configuration, and non-JSON body handling. The AddOpenApiSource component provides a progressive form for analyzing specs before registration.
For details, see OpenAPI Plugin. Sources: packages/plugins/openapi/src/react/AddOpenApiSource.tsx92-114
The Model Context Protocol (MCP) plugin enables integration with MCP servers via stdio, SSE, or streamable-http. It includes a sophisticated probeMcpEndpoint logic to discover tools and authentication requirements dynamically.
For details, see MCP Plugin. Sources: packages/plugins/mcp/src/react/AddMcpSource.tsx77-87 packages/plugins/mcp/src/react/AddMcpSource.tsx38
The GraphQL plugin uses schema introspection to materialize operations into tools. It generates selection inputs and manages the invocation pipeline for complex graph queries.
For details, see GraphQL Plugin. Sources: packages/plugins/graphql/package.json18-25
These are preset plugins designed for major ecosystem APIs. They aggregate Discovery Documents (Google) or use preset scopes for Microsoft Graph, simplifying the registration flow for these complex providers.
For details, see Google and Microsoft Plugins.
Toolkits allow users to define named subsets of the tool catalog. Each toolkit can have its own policy rules and connection patterns, acting as a scoping mechanism for MCP sessions or specific agent tasks.
For details, see Toolkits Plugin.
Executor separates tool execution from credential storage through a provider-based architecture. These plugins implement the CredentialProvider interface to fetch secrets at runtime.
System Bridge: Credential Resolution
Sources: packages/plugins/keychain/package.json47-48 packages/plugins/onepassword/package.json56-57 packages/core/sdk/package.json23
NAPI-RS packages/plugins/keychain/package.json48For details, see Secret Management Plugins.