Connect Jesse to your tools.

33 client setups, one maintained API. Choose how you want to use Jesse, then open your app’s guide.

  1. Get your Jesse key and keep it in your app’s credential store or launch environment.
  2. Choose your client below and merge its setup into existing settings.
  3. Select jesse, try a chat, and check the response receipt. Validate an actual tool or file task before relying on an agent workflow.

Use Jesse as your model

Coding agents, editors and chat apps with a custom model connection.

Claude CodeCustom model connection

Use a dedicated Jesse launch environment. Recorded Jesse runs exist; this release has not rerun the installed CLI.

Anthropic base URL
https://jesse.my/api
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

launch-jesse.sh

#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
export ANTHROPIC_BASE_URL='https://jesse.my/api'
ANTHROPIC_AUTH_TOKEN="$JESSE_API_KEY"
export ANTHROPIC_AUTH_TOKEN
unset ANTHROPIC_API_KEY
export ANTHROPIC_MODEL='jesse'
export ANTHROPIC_SMALL_FAST_MODEL='jesse'
exec claude "$@"

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Codex CLI and IDE extensionCustom model connection

Use the Jesse profile without replacing your default provider. Recorded Jesse CLI runs exist; IDE sessions need validation.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

config.toml

[model_providers.jesse]
name = "Jesse"
base_url = "https://jesse.my/api/v1"
env_key = "JESSE_API_KEY"
wire_api = "responses"
supports_websockets = false
request_max_retries = 0
stream_max_retries = 0

[profiles.jesse]
model_provider = "jesse"
model = "jesse"

launch-jesse.sh

#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
exec codex --profile jesse "$@"

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Oh My Pi (OMP)Custom model connection

Merge the Jesse provider into models.yml. PI_CODING_AGENT_DIR overrides the default directory.

Anthropic base URL
https://jesse.my/api
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

models.yml

providers:
  jesse:
    baseUrl: "https://jesse.my/api"
    api: "anthropic-messages"
    apiKey: "JESSE_API_KEY"
    models:
      -
        id: "jesse"
        name: "Jesse"
        reasoning: false
        input:
          - "text"
        contextWindow: 10000
        maxTokens: 4096

launch-jesse.sh

#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
exec omp --model 'jesse/jesse' "$@"

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Factory.ai Droid CLI and desktopCustom model connection

Merge customModels into ~/.factory/settings.json. Environment references work there, not in legacy config.json. Select Jesse with /model; custom model indices depend on your existing array. Hosted web and mobile do not load this local config.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

settings.json

{
  "customModels": [
    {
      "model": "jesse",
      "displayName": "Jesse",
      "baseUrl": "https://jesse.my/api/v1",
      "apiKey": "${JESSE_API_KEY}",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 4096,
      "noImageSupport": true
    }
  ]
}

add-mcp.sh

#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
droid mcp add jesse node '/absolute/path/to/jesse/jesse.mjs' mcp --type stdio

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Visual Studio Code ChatCustom model connection

Use Manage Language Models > Add Models > Custom Endpoint. Merge the generated entry into chatLanguageModels.json and store your key through its secure input variable.

Anthropic base URL
https://jesse.my/api
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

chatLanguageModels.json

[
  {
    "name": "Jesse",
    "vendor": "customendpoint",
    "apiKey": "${input:jesseApiKey}",
    "apiType": "messages",
    "models": [
      {
        "id": "jesse",
        "name": "Jesse",
        "url": "https://jesse.my/api/v1/messages",
        "toolCalling": true,
        "vision": false,
        "maxInputTokens": 5904,
        "maxOutputTokens": 4096
      }
    ]
  }
]

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Continue for VS Code and JetBrainsCustom model connection

Merge the model into config.yaml. Chat is prepared; editing, apply, autocomplete and embeddings are deliberately not assigned as supported roles.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

config.yaml

name: "Jesse"
version: "1.0.0"
schema: "v1"
models:
  -
    name: "Jesse"
    provider: "openai"
    model: "jesse"
    apiBase: "https://jesse.my/api/v1"
    apiKey: "${{ secrets.JESSE_API_KEY }}"
    roles:
      - "chat"
    capabilities:
      - "tool_use"
    defaultCompletionOptions:
      contextLength: 10000
      maxTokens: 4096

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

ClineCustom model connection

Choose OpenAI Compatible in provider settings. The native agent requires a client-specific tool/result acceptance run.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

OpenCodeCustom model connection

This recipe is for the provider/npm/options config schema documented at /docs/providers. OpenCode v2 has a different providers/package/settings schema; use its separate recipe.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "jesse": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Jesse",
      "options": {
        "baseURL": "https://jesse.my/api/v1",
        "apiKey": "{env:JESSE_API_KEY}"
      },
      "models": {
        "jesse": {
          "name": "Jesse",
          "limit": {
            "context": 10000,
            "output": 4096
          }
        }
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

OpenCode v2Custom model connection

Merge providers.jesse into the v2 config; do not mix v1 and v2 configuration schemas.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

opencode.jsonc

{
  "$schema": "https://opencode.ai/config.json",
  "providers": {
    "jesse": {
      "package": "@opencode/ai/providers/openai-compatible",
      "name": "Jesse",
      "env": [
        "JESSE_API_KEY"
      ],
      "settings": {
        "baseURL": "https://jesse.my/api/v1"
      },
      "models": {
        "jesse": {
          "name": "Jesse"
        }
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

ZedCustom model connection

Merge language_models.openai_compatible.jesse and store the key in Agent Settings. Tool calling is enabled as a protocol capability; editing workflows are not verified.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

settings.json

{
  "language_models": {
    "openai_compatible": {
      "jesse": {
        "api_url": "https://jesse.my/api/v1",
        "available_models": [
          {
            "name": "jesse",
            "display_name": "Jesse",
            "max_tokens": 10000,
            "max_output_tokens": 4096,
            "capabilities": {
              "tools": true,
              "images": false,
              "parallel_tool_calls": false,
              "prompt_cache_key": false,
              "chat_completions": true,
              "interleaved_reasoning": false,
              "max_tokens_parameter": true
            }
          }
        ]
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

JetBrains AI AssistantCustom model connection

Use Settings > Tools > AI Assistant > Providers & API keys > OpenAI-compatible. Covers IntelliJ IDEA, PyCharm, WebStorm, CLion, GoLand and Rider where AI Assistant is available. Native external agents use a separate ACP integration, not this model recipe.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Xcode Coding IntelligenceCustom model connection

Add a custom model provider in Coding Intelligence settings. Use the API root without /v1 if the UI appends /v1/models. The endpoint and model fields below give both forms.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

AiderCustom model connection

Use the launch script with the Jesse model. Aider edit-format behavior must be validated separately; API connectivity does not establish diff editing.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

.aider.conf.yml

model: "openai/jesse"
openai-api-base: "https://jesse.my/api/v1"

launch-jesse.sh

#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
OPENAI_API_KEY="$JESSE_API_KEY"
export OPENAI_API_KEY
exec aider --model 'openai/jesse' --openai-api-base 'https://jesse.my/api/v1' "$@"

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Open WebUICustom model connection

Add an OpenAI-compatible connection under Admin Settings > Connections. Keep the Jesse key in server settings. Retrieval embeddings need a separate provider.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

LibreChatCustom model connection

Merge endpoints.custom into librechat.yaml. Inject JESSE_API_KEY on the server; do not expose it to the browser. Automatic titles and summarization are disabled until validated.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

librechat.yaml

endpoints:
  custom:
    -
      name: "Jesse"
      apiKey: "${JESSE_API_KEY}"
      baseURL: "https://jesse.my/api/v1"
      models:
        default:
          - "jesse"
        fetch: true
      titleConvo: false
      summarize: false
      modelDisplayLabel: "Jesse"

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Cherry StudioCustom model connection

Add a custom OpenAI-compatible provider, enter the endpoint and key in provider settings, and add the Jesse model. Broad vision is disabled.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

AnythingLLMCustom model connection

Select Generic OpenAI for the chat provider. Document embeddings require an independent embedding provider. Jesse document APIs remain accessible through the SDK.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

SillyTavernCustom model connection

Select Chat Completion > Custom (OpenAI-compatible). Jesse currently does not provide unrestricted creative writing or character roleplay.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Connect Jesse as a tool

MCP exposes Jesse inside another assistant. Your host keeps its own model.

CursorMCP tool connection

Merge mcpServers.jesse into .cursor/mcp.json. Jesse is a tool here; this does not replace Cursor Composer or its underlying model.

Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.

Setup prepared. Full application session not yet verified.

mcp.json

{
  "mcpServers": {
    "jesse": {
      "command": "node",
      "args": [
        "/absolute/path/to/jesse/jesse.mjs",
        "mcp"
      ],
      "env": {
        "JESSE_API_ROOT": "https://jesse.my/api"
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Windsurf / CascadeMCP tool connection

Merge the MCP entry in Cascade MCP settings for the installed version. Jesse is a tool; native model replacement is not claimed.

Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.

Setup prepared. Full application session not yet verified.

mcp.json

{
  "mcpServers": {
    "jesse": {
      "command": "node",
      "args": [
        "/absolute/path/to/jesse/jesse.mjs",
        "mcp"
      ],
      "env": {
        "JESSE_API_ROOT": "https://jesse.my/api"
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

GitHub Copilot in other MCP-capable hostsMCP tool connection

Use the host's MCP manager. The common server descriptor must be mapped to that host's schema. For VS Code use the dedicated custom model recipe instead.

Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.

Setup prepared. Full application session not yet verified.

mcp.json

{
  "mcpServers": {
    "jesse": {
      "command": "node",
      "args": [
        "/absolute/path/to/jesse/jesse.mjs",
        "mcp"
      ],
      "env": {
        "JESSE_API_ROOT": "https://jesse.my/api"
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Claude DesktopMCP tool connection

Use the local stdio descriptor in claude_desktop_config.json. Jesse is a tool; Claude remains the host model.

Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.

Setup prepared. Full application session not yet verified.

mcp.json

{
  "mcpServers": {
    "jesse": {
      "command": "node",
      "args": [
        "/absolute/path/to/jesse/jesse.mjs",
        "mcp"
      ],
      "env": {
        "JESSE_API_ROOT": "https://jesse.my/api"
      }
    }
  }
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

ChatGPT and hosted MCP clientsMCP tool connection

Use the authenticated Streamable HTTP MCP endpoint after the Jesse release is deployed. A server-owned API key can be used by a credential-aware host; OAuth-only hosts need the existing account OAuth path to be wired separately. This is not a replacement for the host model.

Connection: Remote Streamable HTTP. An OAuth-only host needs separately configured OAuth support.

Setup prepared. Full application session not yet verified.

connection.json

{
  "transport": "streamable-http",
  "url": "https://jesse.my/api/v1/mcp",
  "authentication": "Caller-owned Jesse bearer credential, configured through the host credential store",
  "protocolVersion": "2025-06-18",
  "hostModelReplacement": false,
  "oauth": "Not added by this integration kit"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Build a chatbot or integration

SDK adapter templates for your application. Your host handles authentication, accounts, storage and message delivery.

Slack chatbotApplication adapter

Verify the raw request signature and timestamp before parsing; address only human app messages. Acknowledge Slack delivery promptly and handle the Jesse request in your existing durable worker. No posting or app registration is performed by the kit.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "slack",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Discord chatbotApplication adapter

Verify the Ed25519 request signature and timestamp, use a prompt slash-command option, and defer the interaction before a long answer. Resolve the caller to their Jesse account.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "discord",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Telegram chatbotApplication adapter

Verify the webhook secret header and bind the bot identity in your verifier. Normalize only human text messages. Resolve the actor to their own Jesse key.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "telegram",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Microsoft Teams chatbotApplication adapter

Validate Bot Framework/Teams authentication and tenant identity in the host adapter, then normalize the verified activity. Keep Teams app installation and outbound delivery in the existing host.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "teams",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Website chat widgetApplication adapter

Use an authenticated server-side session and same-origin CSRF protection. Map the session user to a Jesse key on the server. The browser never receives the Jesse key.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "website",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Customer support portalApplication adapter

Use the portal's authenticated tenant/user session and authorization. Keep customer history and document access scoped to that actor's Jesse account.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "support-portal",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Obsidian assistant pluginApplication adapter

Use the shared SDK from a plugin or a trusted local backend. The kit supplies the transport, event normalization and tenant boundary; it is not an installed Obsidian plugin.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "obsidian",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Neovim assistantApplication adapter

Use the local SDK/MCP bridge from an editor plugin process. No buffers or filesystem tools execute automatically.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "neovim",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Emacs assistantApplication adapter

Use a local SDK/MCP bridge subprocess and keep credentials outside buffers. No Emacs package is installed by this kit.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

connector.mjs

import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';

export function createJesseConnector({ verifyEvent, keyForActor, store }) {
  return createChatConnector({
    verifyEvent, store,
    clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
  });
}

event.json

{
  "platform": "emacs",
  "actor": "authenticated-user-id",
  "conversation": "authorized-conversation-id",
  "eventId": "stable-delivery-id",
  "text": "What is 17 * 23?"
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

n8n and workflow automationApplication adapter

Use an OpenAI Chat Model custom Base URL, or the generated HTTP request descriptor in an existing authenticated workflow. Store keys in n8n credentials. Graph operations are available via the shared SDK and OpenAPI spec; this descriptor is not a full importable workflow.

OpenAI-compatible base URL
https://jesse.my/api/v1
Model
jesse
Key
Your Jesse API key, stored in the host’s credential store or launch environment.

Setup prepared. Full application session not yet verified.

request.json

{
  "method": "POST",
  "url": "https://jesse.my/api/v1/chat/completions",
  "authentication": "Generic credential > Header Auth > Authorization: Bearer YOUR_JESSE_KEY (store in credentials)",
  "sendBody": true,
  "contentType": "json",
  "body": {
    "model": "jesse",
    "messages": [
      {
        "role": "user",
        "content": "What is 17 * 23?"
      }
    ]
  },
  "responseFormat": "json",
  "retryOnFail": false
}

Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.

Download complete setup JSON · Official client documentation

Build with the deeper API.

Use chat and streaming, preserve answer receipts, and work with per-key memory, documents, versioned tool packs, agent phases, result checks, feedback and usage.

OpenAPI specificationClient catalog and operation schemasCurrent API capabilitiesEndpoint reference

One contract for future expansions

The shared SDK, MCP tool list and client setups use the same operation registry. Maintainers update that contract and regenerate the kit together. Custom applications can use the dependency-free SDK; chatbot adapters also need inbound verification, authorized account binding and transactional history storage.

Know the current limits

Jesse checks new functions and small programs; existing-code editing is not established. Responses requests require full conversation history. Image input is limited to inline PNG/JPEG QR decoding. Embeddings, audio and WebSocket Responses are unavailable. Client context budgets are conservative settings.