Skip to content

Quickstart

Connect your AI agents to real-world APIs in minutes — without per-API glue code or secret sprawl.

Jentic lets your agents discover, load, and execute APIs and workflows by intent (e.g., “send a Discord DM”, “search NYT”, “translate to Star-Wars speak”) with managed authentication, access control, and observability.


Prefer to watch? The 5-minute walkthrough above mirrors these steps.


Prerequisites

  • Python 3.11+
  • A Jentic account (free) for credentials and API keys
  • (Optional) An MCP client — Claude Desktop, Windsurf, Cursor, VS Code MCP

1. Create your account & connect APIs

  1. Go to app.jentic.com/sign-in and create an account.
  2. In Credentials, add API secrets (e.g., Discord bot token, NYT API key).
  3. Go to Agents → New Agent, select APIs/workflows it can access, and Generate API key.

Each key is scoped — the agent only sees what you allow.


2. Choose your path

Install

pip install jentic

Export your Agent API key

macOS / Linux:

export JENTIC_AGENT_API_KEY="<your-agent-api-key>"
Windows (PowerShell):
setx JENTIC_AGENT_API_KEY "<your-agent-api-key>"
$env:JENTIC_AGENT_API_KEY="<your-agent-api-key>"  # current session

First call: search → load → execute

import asyncio
from jentic import Jentic, SearchRequest, LoadRequest, ExecutionRequest

async def main():
    client = Jentic()

    # 1) Find a capability
    search = await client.search(SearchRequest(query="send a Discord DM"))
    entity_id = search.results[0].id  # op_... or wf_...

    # 2) Inspect inputs
    details = await client.load(LoadRequest(ids=[entity_id]))
    print("Inputs:", details.tool_info[entity_id].inputs)

    # 3) Execute
    result = await client.execute(
        ExecutionRequest(
            id=entity_id,
            inputs={"recipient_id": "123", "content": "Hello from Jentic!"}
        )
    )
    print(result)

asyncio.run(main())

Credentials required by the capability must be present in your Jentic account (Step 1).

(Optional) Generate LLM tool definitions

from jentic.lib.agent_runtime import AgentToolManager

manager = AgentToolManager(format="anthropic")  # or "openai"
tools = manager.generate_tool_definitions()     # pass to your LLM
result = await manager.execute_tool(
    "discord_send_message",
    {"recipient_id": "123", "content": "Hi from tools!"}
)
print(result)

Run the MCP server

Requires uv:

uvx --from \
  git+https://github.com/jentic/jentic-sdks.git@main#subdirectory=mcp \
  mcp

Configure your MCP client

Claude Desktop (macOS example):

mkdir -p "$HOME/Library/Application Support/Claude"
open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

Paste:

{
  "mcpServers": {
    "jentic": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jentic/jentic-sdks.git@main#subdirectory=mcp",
        "mcp"
      ],
      "env": {
        "JENTIC_AGENT_API_KEY": "<your-agent-api-key>"
      }
    }
  }
}

Restart Claude Desktop.
(For Windsurf, Cursor, VS Code MCP — use their MCP config file with the same block.)

Try it

In your MCP client chat: - “Search Jentic for ‘recent Figshare AI papers’” - “Load execution info for the top result” - “Execute it”


API Auth? Example use
OSF (osf.io) None Search preprints, list files
Figshare None Get article metadata, recent items
Funtranslations – Star Wars None “Translate to Sith”
BulkSMS Required Send an SMS
Discord Required Post messages, react, DMs
New York Times Required Top stories, article search

Troubleshooting

  • 401 / Unauthorized — Check JENTIC_AGENT_API_KEY and that the agent is scoped for the API.
  • Missing credentials — Add them under Credentials in the Jentic app.
  • MCP not connecting — Restart the MCP client after editing its config.
  • Windows path issues — Confirm you edited the correct config for your client and user.

Next steps