Expose
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., "@Exposecreate a subscription for customer abc-123"
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.
title: Expose description: Easily build MCP tools for Claude desktop app
Expose lets you build MCP tools that you can invoke with MCP client like Claude desktop app.
Self-hosted: You can easily self-host tools and deploy them on your own server.
Unified gateway: Generates a single HTTP endpoint that you can register with
expose-cliFlexible: Easily configure and customize your tools to fit your needs.
Related MCP server: Model Context Protocol Server
Getting started
Setup expose CLI
curl -fsSL https://github.com/a0dotrun/expose/releases/download/stable/download_cli.sh | bashInstall dependencies
npm i @a0dotrun/exposeCreate server
touch src/server.tsimport { create } from "@a0dotrun/expose" const app = create({ tools: [], }) export default { port: 3000, fetch: app.fetch, }Define your tools
+ import { tool } from "@a0dotrun/expose/tool"
+ import { subscription } from "@acme/lib/subscription"
+ import { z } from "zod"
+ const getCustomerSubscription = tool({
+ name: "getCustomerSubscription",
+ description: "Get subscription information for a customer",
+ args: z.object({
+ customer: z.string().uuid()
+ }),
+ run: async (input) => {
+ // Your subscription logic here
+ return input;
+ },
+ });
+ const createCustomerSubscription = tool({
+ name: "createCustomerSubscription",
+ description: "Create a subscription for a customer",
+ args: z.object({
+ customer: z.string().uuid()
+ }),
+ run: async (input) => {
+ // Your subscription logic here
+ return input;
+ },
+ });
const app = create({
tools: [
+ getCustomerSubscription,
+ createCustomerSubscription,
],
});Start server
npm run devYou can also deploy the server and note down the public URL.
Register in Claude desktop app MACOS Claude desktop MCP config path:
~/Library/Application Support/Claude/claude_desktop_config.json
{
...
"mcpServers": {
"subscriptionManager": {
"command": "/Users/acmeuser/.local/bin/expose-cli",
"args": ["--url", "http://localhost:3000", "--timeout", "15"]
}
}
...
}replace localhost with your public URL
expose is created by @_sanchitrk at a0
Acknowledgements
I was inspired by opencontrol
This server cannot be deployed
Maintenance
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Build and publish Overskill apps from Cursor, Claude, ChatGPT, or any MCP client.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Give any MCP-compatible AI assistant a builder for live, hosted web tools and workflows.
Related MCP Servers
- AlicenseDqualityCmaintenanceA utility tool that enables Claude Desktop to interact with external tools via the Model Context Protocol, providing features like email sending and simple calculations while simplifying the MCP setup process.2512MIT
- FlicenseCqualityDmaintenanceA server built with mcp-framework that allows users to extend Claude's capabilities by adding custom tools that can be used through the Claude Desktop client.325-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows integration with Claude Desktop by creating and managing custom tools that can be executed through the MCP framework.25-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server built with the mcp-framework for developing and managing custom tools. It provides a structured foundation for building and integrating modular components like data processors and API clients into Claude Desktop.5-