MCP Anthropic Server - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

MCP Anthropic Server (mcp-anthropic)

An MCP (Model Context Protocol) server providing tools to interact with Anthropic’s experimental prompt engineering APIs.

Features

Provides the following tools:

  • generate_prompt: Generates a prompt based on a task description.
  • improve_prompt: Improves an existing prompt based on feedback.
  • templatize_prompt: Converts a concrete prompt example into a reusable template.

Setup

  1. Clone the repository (if applicable)
  2. Navigate to the project directory:
    cd mcp-anthropic
    
  3. Install dependencies:
    npm install
    
  4. Configure API Key:
    • Create a .env file in the project root (./mcp-anthropic/.env).
    • Add your Anthropic API key to the .env file:
      ANTHROPIC_KEY=your_anthropic_api_key_here
      
    • Ensure this file is not committed to version control (it should be covered by .gitignore).
    • Note for LibreChat Integration: For specific instructions on setting up and running this server as a child process within LibreChat (including API key handling), please refer to the documentation.md file.

Running the Server

  1. Build the TypeScript code:
    npm run build
    
  2. Start the server:
    npm start
    
    The server will start and listen for MCP connections. You should see output indicating the server has started and which tools are registered.

Tools Documentation

generate_prompt

Generates a prompt based on a task description.

Input Schema:

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "A description of the task the prompt should be designed for (e.g., "a chef for a meal prep planning service")."
    },
    "target_model": {
      "type": "string",
      "description": "The target Anthropic model identifier (e.g., "claude-3-opus-20240229")."
    }
  },
  "required": ["task", "target_model"]
}

improve_prompt

Improves an existing prompt based on feedback.

Input Schema:

{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "role": { "type": "string", "description": "Role (e.g., 'user', 'assistant')." },
          "content": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": { "type": "string", "description": "Content type (e.g., 'text')." },
                "text": { "type": "string", "description": "Text content." }
              },
              "required": ["type", "text"]
            },
            "description": "Content blocks."
          }
        },
        "required": ["role", "content"]
      },
      "description": "The sequence of messages representing the prompt conversation."
    },
    "system": {
      "type": "string",
      "description": "(Optional) A system prompt to guide the model."
    },
    "feedback": {
      "type": "string",
      "description": "Specific feedback on how to improve the prompt (e.g., "Make it more detailed")."
    },
    "target_model": {
      "type": "string",
      "description": "The target Anthropic model identifier (e.g., "claude-3-opus-20240229")."
    }
  },
  "required": ["messages", "feedback", "target_model"]
}

templatize_prompt

Converts a concrete prompt example into a reusable template.

Input Schema:

{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "role": { "type": "string", "description": "Role (e.g., 'user', 'assistant')." },
          "content": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": { "type": "string", "description": "Content type (e.g., 'text')." },
                "text": { "type": "string", "description": "Text content." }
              },
              "required": ["type", "text"]
            },
            "description": "Content blocks."
          }
        },
        "required": ["role", "content"]
      },
      "description": "The sequence of messages representing the prompt conversation example."
    },
    "system": {
      "type": "string",
      "description": "(Optional) A system prompt associated with the example."
    }
  },
  "required": ["messages"]
}

Featured Templates

View More
Customer service
AI-Powered Product List Manager
140 506
AI Assistants
Talk with Claude 3
153 999
AI Characters
Sarcastic AI Chat Bot
126 1225
Data Analysis
Pharmacy Admin Panel
232 1452

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.