Jasper AI

An MCP server for interacting with the Jasper AI API to generate various types of content.

Jasper AI MCP Server Prototype

This repository contains a prototype Model Context Protocol (MCP) server for interacting with the Jasper AI API.

Setup

Cursor/Windsurf

To use this Jasper MCP server with Windsurf, add the following configuration to your Windsurf mcp_config.json file:

"jasper": {
  "command": "npx",
  "args": ["-y", "https://github.com/latecheckout/jasper-mcp-proto"],
  "env": {
    "JASPER_API_KEY": "YOUR_JASPER_API_KEY"
  }
}

Replace YOUR_JASPER_API_KEY with your actual Jasper API key.

Claude Desktop (Recommended Method):

  1. Open the Claude Desktop application.

  2. Navigate to Settings (or Preferences).

  3. Go to the Extensions tab.

  4. Download the jasper-mcp-prototype.dxt file.

  5. Drag and drop this file into the extensions window of Claude Desktop.

  6. Click Install

  7. Add your Jasper API Key in the configuration input

  8. Enable the extension using the toggle.

Claude Desktop Local Build

Claude Desktop can have issues running MCP servers with NPX, especially when node is managed with nvm. If you cannot install with the above method, follow these steps instead:

1. Prerequisites:

  • Ensure you have the Claude Desktop App installed. These instructions are tailored for the desktop app, as browser-based MCP integration might differ.
  • You'll need Node.js and pnpm. If you don't have Node.js, install it from nodejs.org. You can install pnpm via npm: npm install -g pnpm.

2. Download and Build the Jasper MCP Server:

  • Clone this repository (if you haven't already):
    git clone https://github.com/latecheckout/jasper-mcp-proto.git
    cd jasper-mcp-prototype
    
  • Install dependencies:
    pnpm install
    
  • Build the project:
    pnpm run build
    
    This will create a dist/index.js file in the project directory.

3. Obtain Necessary File Paths:

  • Node Executable Path: Open your terminal and run:
    which node
    
    Copy the full path displayed (e.g., /Users/yourusername/.nvm/versions/node/v18.17.0/bin/node or /usr/local/bin/node).
  • Absolute Path to dist/index.js: Navigate to the root directory of the jasper-mcp-prototype (if you're not already there). Then run:
    echo "$(pwd)/dist/index.js"
    
    Copy the full path displayed (e.g., /Users/yourusername/path/to/jasper-mcp-prototype/dist/index.js).

4. Configure Claude Desktop App:

  • Open your Claude Desktop App.

  • Go to Settings (or Preferences).

  • Find the Developer tab or section.

  • Click on Edit Config (or a similarly named option to edit the MCP server configuration). This will open a JSON configuration file (often named claude_desktop_config.json or similar) in a text editor.

  • Add or modify the mcpServers object in this file. If mcpServers doesn't exist, you can add the whole structure. If it does, add jasper-ai as a new key within it:

    {
      "mcpServers": {
        ...
        "jasper": {
          "command": "PASTE_YOUR_NODE_EXECUTABLE_PATH_HERE",
          "args": ["PASTE_YOUR_ABSOLUTE_PATH_TO_DIST/INDEX.JS_HERE"],
          "env": {
            "JASPER_API_KEY": "YOUR_JASPER_API_KEY_HERE"
          }
        }
      }
    }
    

Important:

  • Replace "PASTE_YOUR_NODE_EXECUTABLE_PATH_HERE" with the Node executable path you copied in step 3a.
  • Replace "PASTE_YOUR_ABSOLUTE_PATH_TO_DIST/INDEX.JS_HERE" with the absolute path to dist/index.js you copied in step 3b.
  • Replace "YOUR_JASPER_API_KEY_HERE" with your actual Jasper API key.
  • Ensure the resulting file is valid JSON. If you're adding jasper to an existing mcpServers object, make sure to add a comma after the preceding server entry if necessary.

5. Restart Claude:

  • Save the changes to the configuration file.
  • Completely close and restart the Claude Desktop App for the new MCP server configuration to take effect.

You should now be able to use the Jasper MCP tools via this local MCP server in Claude.

Usage

Once correctly setup in your environment, you can ask the LLM to use jasper to write content for you. For example:

Use jasper to write a blog post about the latest trends in AI. Pick an appropriate tone, and audience.

Installation

  1. Clone the repository:

    git clone <your-repository-url>
    cd jasper-mcp
    
  2. Install dependencies: This project uses pnpm as the package manager.

    pnpm install
    

Development Flow

pnpm run dev
  • Run in development mode: This command starts the server and uses @modelcontextprotocol/inspector. You can use the inspector to test out the MCP server.

  • Note: There isn't hot reloading. After making changes to the code, you'll need to run pnpm build and then click the restart button in the MCP inspector to see your changes.

Tools and Resources

This MCP server provides the following tools and resources:

Tools

  1. generate-content:

    • Description: Generate content via Jasper AI. Jasper is a premium generative marketing with the user's styleguide, brand voices and audiences. Jasper can be used to apply styles or generate content for the user that matches their styleguide, brand voices and audiences.
    • See src/tools/generateContent.ts.
  2. apply-style:

    • Description: Applies a specified styleguide's rules to the provided text content and returns the styled content. This tool can be used to ensure content conforms to the user's styleguide, especially useful when generating content for the public or for specific audiences.
    • See src/tools/applyStyleTool.ts.
  3. get-jasper-style-guides:

    • Description: Return the style guide id belonging to the user. This style guide id can be passed to jasper's generate-content tool to use that style when creating content. It can also be used in the apply-style tool to apply a style to a given text.
    • See src/tools/getStyleGuides.ts.
  4. get-jasper-brand-voices:

    • Description: Return a list of the brand voices/tones belonging to the user. These brand voices include a description to help the LLM and/or the user pick an appropriate tone, and a toneId that can be passed to jasper's generate-content tool to use that brand voice/tone when creating content.
    • See src/tools/getBrandVoices.ts.
  5. get-jasper-audiences:

    • Description: Return a list of the audiences belonging to the user. These audiences include a description to help the LLM and/or the user pick an appropriate audience, and an audienceId that can be passed to jasper's generate-content tool to use that audience when creating content.
    • See src/tools/getAudiences.ts.

Resources

  1. jasper://styles (Registered as jasper-styles):

    • Fetches available Jasper AI styles.
    • Implementation: src/resources/getStyles.ts
  2. jasper://brandvoices (Registered as jasper-brand-voices):

    • Fetches available Jasper AI brand voices (tones).
    • Implementation: src/resources/getBrandVoices.ts
  3. jasper://audiences (Registered as jasper-audiences):

    • Fetches available Jasper AI audiences.
    • Implementation: src/resources/getAudiences.ts

Related Servers