Agent skill
frontmcp-extensibility
Extend FrontMCP servers with external npm packages and libraries. Covers VectoriaDB for semantic search, and patterns for integrating third-party services into providers and tools. Use when adding search, ML, database, or external API capabilities beyond the core SDK.
Install this agent skill to your Project
npx add-skill https://github.com/agentfront/frontmcp/tree/main/libs/skills/catalog/frontmcp-extensibility
Metadata
Additional technical details for this skill
SKILL.md
FrontMCP Extensibility
Patterns and examples for extending FrontMCP servers with external npm packages. The core SDK handles MCP protocol, DI, and lifecycle — this skill shows how to integrate third-party libraries as providers and tools.
When to Use This Skill
Must Use
- Adding semantic search or similarity matching to your server (VectoriaDB)
- Integrating an external npm package as a FrontMCP provider
- Building tools that wrap third-party services (databases, APIs, ML models)
Recommended
- Looking for patterns to structure external service integrations
- Deciding between provider-based vs direct integration for a library
- Adding capabilities like applescript automation, VM execution, or data processing
Skip When
- You need to build core MCP components (see
frontmcp-development) - You need to configure auth, transport, or CORS (see
frontmcp-config) - You need to write a plugin with hooks and context extensions (see
create-plugin)
Decision: Use this skill when integrating external libraries into your FrontMCP server as providers or tools.
Scenario Routing Table
| Scenario | Reference | Description |
|---|---|---|
| Add in-memory semantic search with VectoriaDB | references/vectoriadb.md |
TF-IDF indexing, field weighting, provider+tool pattern |
| Load an app from an npm package | multi-app-composition (in frontmcp-setup) |
App.esm('@scope/pkg@^1.0.0', 'AppName') pattern |
| Connect to a remote MCP server | multi-app-composition (in frontmcp-setup) |
App.remote('https://...', 'ns') pattern |
| Build a reusable plugin with hooks | create-plugin-hooks (in frontmcp-development) |
DynamicPlugin, context extensions, lifecycle hooks |
| Build a custom adapter for an external source | create-adapter (in frontmcp-development) |
DynamicAdapter for OpenAPI, GraphQL, or custom sources |
| Auto-generate tools from an OpenAPI spec | official-adapters (in frontmcp-development) |
OpenapiAdapter with filtering, auth, and transforms |
Integration Pattern
The standard pattern for integrating any external library:
- Create a provider — wraps the library as a singleton or scoped service
- Register the provider — add to
@App({ providers: [...] })or@FrontMcp({ providers: [...] }) - Create tools — expose the provider's capabilities as MCP tools via
this.get(TOKEN) - Optionally create resources — expose data as MCP resources with autocompletion
// 1. Provider wraps the library
@Provider({ name: 'my-search', provide: SearchToken, scope: ProviderScope.GLOBAL })
export class SearchProvider {
private client: ExternalLibrary;
constructor() {
this.client = new ExternalLibrary({
/* config */
});
}
async search(query: string) {
return this.client.query(query);
}
}
// 2. Tool exposes it
@Tool({ name: 'search', inputSchema: { query: z.string() } })
export default class SearchTool extends ToolContext {
async execute(input: { query: string }) {
return this.get(SearchToken).search(input.query);
}
}
Available Integrations
| Library | Purpose | Reference |
|---|---|---|
| VectoriaDB | In-memory TF-IDF semantic search | references/vectoriadb.md |
More integrations can be added as references (e.g., enclave-vm, applescript, database clients).
Verification Checklist
- External library is in
dependencies(notdevDependencies) - Provider wraps the library with proper initialization and cleanup
- Provider is registered in
@Appor@FrontMcpwith a typed DI token - Tools use
this.get(TOKEN)to access the provider (not direct imports) - Error handling wraps library-specific errors into MCP error classes
Reference
- Related skills:
create-provider,create-tool,frontmcp-development
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
docs-skill
A fixture skill with references and examples for E2E testing.
fix-pr
Review a CodeRabbit PR comment and produce an action plan when prompted to analyze a review comment.
frontmcp-observability
Use when you want to add tracing, structured logging, or monitoring to your FrontMCP server. Covers OpenTelemetry instrumentation, vendor integrations (Coralogix, Datadog, Logz.io, Grafana), this.telemetry API for custom spans, structured JSON logging with sinks, and testing observability. Triggers: observability, telemetry, tracing, logging, monitoring, opentelemetry, otel, spans, datadog, coralogix, logz, grafana, winston, pino.
frontmcp-development
Use when you want to create a tool, add a resource, build a prompt, write a provider, implement an adapter, add OpenAPI integration, create a plugin, agent, job, or workflow. The skill for BUILDING any FrontMCP component.
frontmcp-authorities
Use when implementing authorization, access control, RBAC, ABAC, or ReBAC for tools, resources, or prompts. Covers JWT claims mapping, authority profiles, and policy enforcement.
frontmcp-setup
Domain router for project setup, scaffolding, and organization. Use this skill whenever someone asks to create a new FrontMCP project, set up an Nx monorepo, configure Redis or SQLite storage, organize project structure, compose multiple apps into one server, or manage the skills system. Also triggers for questions like 'how do I start', 'project layout', 'folder structure', 'add redis', 'set up database', or 'create a new app'.
Didn't find tool you were looking for?