openserverless-mcp
OfficialThis MCP server lets an agent manage OpenServerless API endpoints and their dependencies/connectors via these tools:
action_new: create an endpoint (__main__.py+ module file), withpublicdefaulting to true.action_invoke: invoke an endpoint withkey=valueparams and return JSON.action_requirements: add a Python library to an endpoint'srequirements.txt, skipping preinstalled libs.action_add_secret: wire an existing.envsecret into an endpoint's context.action_add_s3: add S3 access (ctx.S3_CLIENT,ctx.S3_DATA,ctx.S3_WEB,ctx.S3_PUBLIC).action_add_postgresql: add PostgreSQL access (ctx.POSTGRESQL).action_add_redis: add Redis access (ctx.REDIS,ctx.REDIS_PREFIX).action_add_milvus: add Milvus vector DB access (ctx.MILVUS).
Adds Milvus vector database to an endpoint's context as ctx.MILVUS.
Adds PostgreSQL database to an endpoint's context as ctx.POSTGRESQL.
Adds Redis cache to an endpoint's context as ctx.REDIS and ctx.REDIS_PREFIX.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@openserverless-mcp create a new hello world endpoint"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
openserverless mcp
An MCP server for OpenServerless. It exposes the OpenServerless action tools
(previously the @opencode-ai/plugin tools under trustable-app/tools/) over the
Model Context Protocol so any MCP-capable agent can drive them.
Tools
Tool | Description |
| Idempotently create an API endpoint ( |
| Run |
| Add a library to an endpoint's |
| Wire a |
| Check secret presence and endpoint bindings without reading its value. |
| Atomically bind the same secret to multiple endpoints. |
| Atomically remove an obsolete generated binding without reading or deleting the secret. |
| Atomically wire Redis into all token-issuing, protected/session, and logout endpoints; never writes |
| Add bucket-scoped S3 to an endpoint's context ( |
| Add PostgreSQL ( |
| Add Redis ( |
| Add Milvus vector DB ( |
| Add MongoDB ( |
The endpoint argument is either name (uses the v1 package) or
package/name. Both segments must start with a letter and contain only letters,
numbers, and hyphens. Use flat hyphenated names such as
v1/employees-photo; underscores, spaces, nested routes, and forms such as
v1/employees_photo or v1/employees/photo are invalid.
Repeating action_new for a compatible existing endpoint is a successful check
that leaves its files unchanged; incomplete paths and visibility conflicts are
reported as MCP errors.
Secret values are never returned by these tools. Missing secrets and invalid
endpoints are MCP errors (isError: true), so clients cannot mistake an
incomplete binding for a successful tool call. action_add_secret remains as
the single-endpoint compatibility tool; use secret_bind when several actions
must share one user-configured credential.
Application .env and .env.production files are owned by Trustant's
user-facing configuration flow. The MCP performs only value-free presence
checks needed for binding validation and never creates, edits, imports,
synchronizes, regenerates, or automatically populates those files. A missing
variable must be added by the user through Trustant.
Application authentication uses Redis-backed opaque sessions. Create login,
registration, me/session, every protected endpoint, and logout, then call
auth_setup once with those complete endpoint sets. Store token-to-identity
mappings under keys derived from ctx.REDIS_PREFIX with a bounded TTL; never
use JWT or an application signing secret as a substitute.
Related MCP server: anyapi-mcp-server
Working directory
All path-based tools operate on paths relative to the process working
directory: they read/write packages/<pkg>/<name>/... and .env. The server
must therefore be launched with the user's app checkout as its CWD (this is how
opencode launches type: "local" MCP servers).
Layout
src/
index.ts entrypoint — registers every tool over stdio
lib.ts shared helpers (endpoint parsing, connector injection, types)
secrets.ts secret name, .env, status, and atomic binding helpers
tools/
new.ts action_new
invoke.ts action_invoke
requirements.ts action_requirements
add-secret.ts action_add_secret
add-s3.ts action_add_s3
add-postgresql.ts action_add_postgresql
add-redis.ts action_add_redis
add-milvus.ts action_add_milvus
add-mongodb.ts action_add_mongodb
secret-status.ts secret_status
secret-bind.ts secret_bind
secret-unbind.ts secret_unbind
auth-setup.ts auth_setupEach file under tools/ default-exports a Tool (defineTool({ name, config, handler }));
index.ts imports them all and registers them in a loop. To add a tool, drop a
file in tools/ and add it to the array in index.ts.
Run
Requires Node 18+ and ops on the PATH. TypeScript runs directly via tsx.
npm install
npm start # tsx src/index.ts — speaks MCP over stdioWire into opencode
Add to the app's opencode.json:
{
"mcp": {
"openserverless": {
"type": "local",
"command": ["npx", "tsx", "/path/to/mcp/src/index.ts"],
"enabled": true
}
}
}Available Tools
8 toolsaction_add_milvusB
Add Milvus vector DB connection to an endpoint's context. Provides ctx.MILVUS.
Inputs: endpoint (required).
action_add_postgresqlC
Add PostgreSQL connection to an endpoint's context. Provides ctx.POSTGRESQL.
Inputs: endpoint (required).
action_add_redisB
Add Redis connection to an endpoint's context. Provides ctx.REDIS and ctx.REDIS_PREFIX.
Inputs: endpoint (required).
action_add_s3A
Add S3 connection to an endpoint's context. Provides ctx.S3_CLIENT, ctx.S3_DATA, ctx.S3_WEB, ctx.S3_PUBLIC.
Inputs: endpoint (required).
action_add_secretB
Add a secret to an endpoint's context. The secret must exist in .env.
Inputs: secret (required), endpoint (required).
action_invokeB
Invoke an API action. Executes ops action invoke with the given endpoint and key=value parameters.
Inputs: endpoint (required), params.
action_newA
Create a new API endpoint. Creates the action folder with main.py and module file.
Inputs: endpoint (required), public.
action_requirementsB
Add a library to an endpoint's requirements.txt. Skips if the library is preinstalled.
Inputs: library (required), endpoint (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a unique purpose: adding specific connection types (Milvus, PostgreSQL, Redis, S3, secret), creating a new action, invoking an action, or adding a library requirement. There is no overlap in functionality, and the descriptions clearly distinguish each tool's role.
All tools use a consistent 'action_' prefix and snake_case, but the verb structure varies: some include a noun after 'add' (e.g., action_add_milvus), while others lack a noun (action_invoke, action_new, action_requirements). This minor inconsistency prevents a perfect score, but the pattern is still predictable.
With 8 tools, the set is well-scoped for a server focused on managing OpenServerless actions. It covers creation, invocation, dependency management, and integration with external services without being overwhelming or too sparse.
The tool surface covers core action creation and invocation, along with adding various connections and dependencies. However, it lacks tools for deleting, updating, or listing actions, as well as removing connections or secrets. These gaps could hinder agents needing full lifecycle management.
Maintenance
Related MCP Connectors
Tigris MCP Server seamlessly connects AI agents to Tigris bucket and object management.
One MCP server for the services your AI needs: memory, files, Microsoft 365, kanban and more.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceAn MCP server that enables dynamic tool registration and execution based on API definitions, providing seamless integration with services like Claude.ai and Cursor.ai.23MIT- FlicenseNot gradedqualityDmaintenanceA universal MCP server that connects any REST API to AI assistants via OpenAPI or Postman specifications. It enables dynamic tool creation with GraphQL-style field selection and automatic schema inference for efficient data retrieval.9 npm6-
- AlicenseNot gradedqualityDmaintenanceA production-grade MCP server designed for multi-tenant, authenticated, and observable AI agent systems, enabling secure tool execution across heterogeneous data sources.67MIT
- FlicenseNot gradedqualityCmaintenanceMulti-cloud MCP server that exposes cloud AI models as tools for AI CLI agents, supporting streaming, conversation history, parallel multi-model queries, and dynamic model discovery.2-