MCP ExplorerExplorer

Expose

@a0dotrunon 9 months ago
14 MIT
FreeCommunity
AI Systems
Expose MCP tools for LLMs

Overview

What is Expose

Expose is a tool that allows users to easily build MCP tools for the Claude desktop application, enabling seamless integration and interaction with large language models (LLMs).

Use cases

Use cases for Expose include creating customer subscription management tools, automating responses in customer service, and developing personalized applications that leverage LLM capabilities.

How to use

To use Expose, set up the expose CLI, install necessary dependencies, create a server, define your tools, and start the server. Finally, register your tools in the Claude desktop app.

Key features

Key features of Expose include self-hosting capabilities, a unified HTTP gateway for easy registration, and flexibility in configuring and customizing tools to meet specific needs.

Where to use

Expose can be used in various fields such as software development, customer relationship management, and any area that requires interaction with LLMs through custom tools.

Content


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-cli
  • Flexible: Easily configure and customize your tools to fit your needs.

Getting started

  1. Setup expose CLI

    curl -fsSL https://github.com/a0dotrun/expose/releases/download/stable/download_cli.sh | bash
    
  2. Install dependencies

    npm i @a0dotrun/expose
    
  3. Create server

    touch src/server.ts
    
    import { create } from "@a0dotrun/expose"
    
    const app = create({
      tools: [],
    })
    
    export default {
      port: 3000,
      fetch: app.fetch,
    }
    
  4. 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,
  ],
});
  1. Start server

    npm run dev
    

    You can also deploy the server and note down the public URL.

  2. Register in Claude desktop app
    MACOS Claude desktop MCP config path: ~/Library/Application Support/Claude/claude_desktop_config.json

replace localhost with your public URL


expose is created by @_sanchitrk at a0

Acknowledgements

I was inspired by opencontrol

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers