Jentic

by jentic

214 downloads
Not rated
GitHub

Description

# Jentic SDK & MCP Plugin [Beta] Jentic MCP empowers AI agent builders to discover and integrate external APIs and workflows rapidly—without writing or maintaining API-specific code. This repository contains the core Jentic SDK and the Jentic MCP Plugin. - **[Jentic…

About

# Jentic SDK & MCP Plugin [Beta] Jentic MCP empowers AI agent builders to discover and integrate external APIs and workflows rapidly—without writing or maintaining API-specific code. This repository contains the core Jentic SDK and the Jentic MCP Plugin. - **[Jentic SDK](#jentic-sdk):** A comprehensive Python library…

Details

Author
jentic
Downloads
214
Categories
Other, AI

- Discover and integrate external APIs without writing API-specific code.
- MCP plugin for Windsurf, Claude Desktop, and Cursor.
- Python SDK for generating LLM tool definitions.
- Search_apis, load_execution_info, and execute tools.
- Manage API authentication via environment variables.
- Backed by the Open Agentic Knowledge repository.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Jentic
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Obtain a Jentic UUID by installing the CLI (pip install jentic) and running jentic register --email '<your_email>'. Set the UUID as the environment variable JENTIC_UUID. For MCP integration, add the Jentic MCP server configuration to your MCP client’s config file using the uvx command, then restart the client. Your agent can then invoke the tools search_apis, load_execution_info, and execute.

search_apis

Search for available actions or information based on what the user wants to do (e.g., 'find Discord servers', 'send a message'). Use this first to understand what's possible.

load_execution_info

Get more details about a specific action (like what information it needs from the user) before confirming you want to run it. Usually used if the action requires specific inputs. Coding Agents: To provide tools to an LLM that you have selected at runtime, use this tool to retrieve the necessary information and save it to 'jentic.json' at the root of your project.

execute

Perform the chosen action for the user using the provided details (if any are needed).

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "jentic": {
            "jentic": {
                "command": "uvx",
                "args": [
                    "--from",
                    "git+https://github.com/jentic/jentic-tools.git@main#subdirectory=mcp",
                    "mcp"
                ],
                "env": {
                    "JENTIC_UUID": "<your-jentic-uuid>"
                }
            }
        }
    }
}

McpServers

{
    "jentic": {
        "command": "uvx",
        "args": [
            "--from",
            "git+https://github.com/jentic/jentic-tools.git@main#subdirectory=mcp",
            "mcp"
        ],
        "env": {
            "JENTIC_UUID": "<your-jentic-uuid>"
        }
    }
}
# Jentic SDK & MCP Plugin [Beta] Jentic MCP empowers AI agent builders to discover and integrate external APIs and workflows rapidly—without writing or maintaining API-specific code. This repository contains the core Jentic SDK and the Jentic MCP Plugin. - **[Jentic SDK](#jentic-sdk):** A comprehensive Python library for discovering and executing APIs and workflows, particularly for LLM tool use. - **[Jentic MCP Plugin](#jentic-mcp-plugin):** A plugin enabling agents (like Windsurf, Claude Desktop & Cursor) to discover and use Jentic capabilities via MCP. See the respective README files for more details: - [Jentic SDK README](./python/README.md) - [Jentic MCP Plugin README](./mcp/README.md) The Jentic SDK is backed by the data in the [Open Agentic Knowledge (OAK)](https://github.com/jentic/oak) repository. ## Getting Started ### Get Your Jentic UUID To use the Jentic SDK or MCP Plugin, you must first obtain a Jentic UUID. The easiest way is using the Jentic CLI. You can _optionally_ include an email address for higher rate limits and for early access to new features. ```sh pip install jentic jentic register --email '<your_email>' ``` This will print your UUID and an export command to set it in your environment: ```sh export JENTIC_UUID=<your-jentic-uuid> ``` Alternatively, you can use curl to register and obtain your UUID: ```sh curl -X POST https://api.jentic.com/api/v1/auth/register \ -H "Content-Type: application/json" \ -d '{"email": "<your_email>"}' ``` ### Jentic MCP Server The quickest way to get started is to integrate the Jentic MCP plugin with your preferred MCP client (like Windsurf, Claude Desktop or Cursor). The recommended method is to run the server directly from the GitHub repository using `uvx`. You will need to install `uv` first using: `brew install uv` or `pip install uv` Next, add the following configuration to your MCP client. The location of the configuration file depends on the client you are using and your OS. Some common examples: - **Windsurf**: `~/.codeium/windsurf/mcp_config.json` - **Claude Desktop**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Claude Code**: `~/.claude.json` - **Cursor**: `~/cursor/.mcp.json` For other clients, check your client's documentation for how to add MCP servers. ```json { "mcpServers": { "jentic": { "command": "uvx", "args": [ "--from", "git+https://github.com/jentic/jentic-tools.git@main#subdirectory=mcp", "mcp" ], "env": { "JENTIC_UUID": "<your-jentic-uuid>" } } } } ``` __Note:__ After saving the configuration file, you may need to restart the client application (Windsurf, Claude Desktop) for the changes to take effect. ### MCP Tool Use Once the MCP server is running, you can easily use the MCP tools in your LLM agent to discover and execute APIs and workflows. 1. `search_apis`: Search for APIs in the Jentic directory that match specific functionality needs 2. `load_execution_info`: Retrieve detailed specifications for APIs and operations from the Jentic directory. **This will include auth information you may need to provide in your `mcpServers.jentic.env` configuration.** 3. `execute`: Execute a specific API or workflow operation. ### Environment Variables When you are using an API that requires authentication, the `load_execution_info` tool will describe the required environment variables. You environment variables via the command line in Windsurf, although in some clients like Claude Desktop, you'll need to add them to your MCP config: ```json { "mcpServers": { "jentic": { "command": "uvx", "args": [ "--from", "git+https://github.com/jentic/jentic-tools.git@main#subdirectory=mcp", "mcp" ], "env": { "JENTIC_UUID": "<your-jentic-uuid>", "DISCORD_BOTTOKEN": "YOUR BOT TOKEN" } } } } ``` **Jentic SDK Use** `pip install jentic` **Jentic for Building and Executing LLM Tools** To provide tools to your LLM that you have selected at runtime, ask your coding agent to use the `load_execution_info` tool to retrieve the necessary information and save it to `jentic.json` at the root of your project. A typical agent loop with tool use looks like this: ```python from jentic import Jentic class MyAgent: def __init__(self): self.jentic = Jentic() # Generate tool definitions compatible with your LLM (e.g., "anthropic", "openai") self.jentic_tools = self.jentic.generate_llm_tool_definitions("anthropic") async def process_message(self, user_message): # Assume `messages` is your conversation history # Assume `self.client` is your LLM client (e.g., Anthropic client) response = self.client.messages.create( model='claude-3-5-sonnet-latest', messages=messages, tools=self.jentic_tools, # Pass the generated tools ) while response.stop_reason == "tool_use": tool_use = next(block for block in response.content if block.type == "tool_use") tool_name = tool_use.name tool_input = tool_use.input # Execute the tool using the Jentic SDK tool_result = await self.jentic.run_llm_tool( tool_name, tool_input ) # ... handle tool_result and continue the conversation ... ```
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.