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¶
- Go to app.jentic.com/sign-in and create an account.
- In Credentials, add API secrets (e.g., Discord bot token, NYT API key).
- 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>"
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”
3. Popular APIs to try¶
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.