Skip to content
Back to skills

Ogment Agentic Cli

DSecurity

Securely invoke MCP tools via the Ogment CLI. Access your connected

  • 14 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 7, 2026
toolsgoshellbashawsapisecurity

Works with

  • cli
  • api
  • mcp

Security analysis

D42/100
  • criticalAccesses sensitive system or user directories
  • criticalAccesses sensitive system or user directories
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 7, 2026

npx -y skills add modbender/skill-library-mcp --skill ogment-agentic-cli --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ogment Agentic Cli?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ogment Agentic Cli
[![Security: D — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-ogment-agentic-cli/badge)](https://www.skillsdirectory.com/skills/modbender-ogment-agentic-cli)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Ogment CLI Skill
description: Securely invoke MCP tools via the Ogment CLI. Access your connected
  SaaS tools (Linear, Notion, Gmail, PostHog, etc.) through Ogment's governance
  layer.
---

# Ogment CLI Skill

Securely invoke MCP tools via the Ogment CLI. Access your connected SaaS tools (Linear, Notion, Gmail, PostHog, etc.) through Ogment's governance layer.

---

## Quick Start (First-Time Onboarding)

**Follow this flow when first using Ogment with a user:**

### Step 1: Check Auth
```bash
ogment auth status
```
- If `loggedIn: true` → skip to Step 3
- If `loggedIn: false` → continue to Step 2

### Step 2: Login (if needed)
```bash
ogment auth login
```
Extract the code from the response and **send it to your human**.

⚠️ **Make links clickable!** Use markdown or full URLs so humans can tap/click directly.

> **🔐 Approve this code to connect Ogment: `XXXX-XXXX`**
> 👉 [dashboard.ogment.ai/cli/approve](https://dashboard.ogment.ai/cli/approve)

Wait for approval, then verify with `ogment auth status`.

### Step 3: Discover What's Available
```bash
ogment catalog
```
Then for each server:
```bash
ogment catalog <serverId> | jq '[.data.tools[].name]'
```

### Step 4: Summarize to Your Human
Tell them what you found:

> **✅ Connected to Ogment!** Here's what I can access:
> - **Linear:** 28 tools (issues, projects, teams, docs)
> - **Gmail:** 11 tools (messages, threads, drafts)
> - **Notion:** 5 tools (search, fetch, comments)
> - **Slack:** 7 tools (conversations, users)
>
> What would you like me to help with?

---

## Prerequisites

| Requirement | Install | Required |
|-------------|---------|----------|
| `ogment` CLI | `npm install -g @ogment-ai/cli` | ✅ Yes |
| `jq` | `brew install jq` / `apt install jq` | Optional (for filtering) |

## First-Time Setup (Login Flow)

⚠️ **IMPORTANT FOR AGENTS:** Don't tell the human to run `ogment auth login` — run it yourself and send them the code!

### Step 1: Check if already authenticated
```bash
ogment auth status
```
If `loggedIn: true`, skip to Core Workflow.

### Step 2: If not logged in, start device flow
```bash
ogment auth login
```
This returns JSON with a device code. Extract and send to the human:

**Example output:**
```json
{
  "data": {
    "event": "auth_login.pending",
    "verification": {
      "userCode": "ABCD-1234",
      "verificationUri": "https://dashboard.ogment.ai/cli/approve"
    }
  }
}
```

### Step 3: Send the code to your human
Tell them:
> **Approve this code: `ABCD-1234`**
> 👉 https://dashboard.ogment.ai/cli/approve

### Step 4: Wait for approval
The `ogment auth login` command will complete automatically once approved. Then verify:
```bash
ogment auth status
```

## Authentication & Credentials

- **Credentials location:** `~/.config/ogment/credentials.json`
- **Token management:** Ogment handles OAuth for all connected services
- **Scope:** Access depends on services connected in your [Ogment dashboard](https://dashboard.ogment.ai)
- **Per-agent permissions:** Each agent only sees tools you've explicitly granted

No credentials are stored in this skill — all auth is managed by the Ogment CLI.

## When to Use

- User asks to interact with their connected services (issues, docs, emails, analytics)
- You need to call MCP tools that require auth/credentials
- Discovering what integrations the user has available

## Core Workflow

```
status → catalog → catalog <server> → catalog <server> <tool> → invoke
```

### 1. Check connectivity (if issues suspected)

```bash
ogment status
```

Returns auth state, connectivity, and available servers. Check `summary.status` for quick health.

### 2. Discover servers

```bash
ogment catalog
```

Returns list of servers with `serverId` and `toolCount`. Use `serverId` in subsequent calls.

### 3. List tools on a server

```bash
ogment catalog <serverId>
```

Returns all tools with `name` and `description`. Scan descriptions to find the right tool.

### 4. Inspect tool schema

```bash
ogment catalog <serverId> <toolName>
```

Returns `inputSchema` with properties, types, required fields, and descriptions.

### 5. Invoke a tool

```bash
ogment invoke <serverId>/<toolName> --input '<json>'
```

**Input methods:**
- Inline JSON: `--input '{"query": "test"}'`
- File: `--input @path/to/input.json`
- Stdin: `echo '{}' | ogment invoke ... --input -`

### 6. Debug errors

```bash
ogment invoke <serverId>/<toolName> --input '{}' --debug
```

The `--debug` flag surfaces raw MCP error messages with field-level validation details.

## Security Considerations

### File Input Safety

The `--input @path` flag reads local files. **Avoid these paths:**
- `~/.ssh/*` — SSH keys
- `~/.aws/*` — AWS credentials  
- `~/.config/` — App configs and tokens
- `~/.bash_history`, `~/.zsh_history` — Shell history
- Browser profile directories

**Best practice:** Only use `--input @path` with files you've explicitly created for this purpose.

### Network Security

- All API calls route through `dashboard.ogment.ai`
- No direct connections to SaaS APIs
- TLS encrypted in transit

### Permission Model

- Tools are scoped per-agent in your Ogment dashboard
- Agents only see tools you've granted access to
- Write operations may be restricted based on agent permissions

## Output Format

All commands return structured JSON:

```json
{
  "ok": true,
  "data": { ... },
  "error": null,
  "meta": { "command": "..." },
  "next_actions": [
    { "command": "...", "title": "...", "reason": "..." }
  ]
}
```

- **Check `ok` first** — boolean success indicator
- **`next_actions`** — suggested follow-up commands
- **`error.category`** — `validation`, `not_found`, `remote`, `auth`, `internal`
- **`error.retryable`** — whether retry might help

## Common Patterns

### Find a tool by intent

```bash
ogment catalog <serverId> | jq '.data.tools[] | select(.name + .description | test("email"; "i"))'
```

### List issues assigned to user

```bash
ogment invoke openclaw/Linear_list_issues --input '{"assignee": "me"}'
```

### Search Notion

```bash
ogment invoke openclaw/Notion_notion-search --input '{"query": "quarterly review", "query_type": "internal"}'
```

### Get Gmail messages

```bash
ogment invoke openclaw/gmail_listMessages --input '{"q": "is:unread", "maxResults": 10}'
```

## Error Recovery

| Error Code | Meaning | Action |
|------------|---------|--------|
| `TOOL_NOT_FOUND` | Bad server/tool name | Run `ogment catalog` to rediscover |
| `VALIDATION_INVALID_INPUT` | Malformed JSON | Check JSON syntax |
| `TRANSPORT_REQUEST_FAILED` | Server rejected call | Add `--debug`, check schema |
| `AUTH_INVALID_CREDENTIALS` | Bad/expired API key | Run `ogment auth login` |
| `HTTP_401` | Service connection expired | Tell human to reconnect (see below) |
| `HTTP_502` | Server down | Retry after delay |

## Handling Expired Connections

When you get `HTTP_401` with a message like:
> "Your connection to [Service] has expired. Please reconnect..."

**Tell your human (with clickable link):**
> **⚠️ Your [Service] connection has expired.**
> Please reconnect it here: [dashboard.ogment.ai](https://dashboard.ogment.ai)
> (Go to Integrations → [Service] → Reconnect)
>
> Let me know when done and I'll retry!

## Handling Missing Permissions

If a tool you expect isn't available (e.g., `gmail_createDraft` not in catalog):
- **This is normal** — agents have scoped permissions
- Write tools may be disabled by default

**Tell your human (with clickable link):**
> **I don't have write access to [Service].**
> To enable it, go to: [dashboard.ogment.ai](https://dashboard.ogment.ai)
> (Agents → [Agent Name] → Permissions)
>
> Let me know when updated and I'll check again!

## Exit Codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 2 | Validation/parse error |
| 5 | Not found |
| 7 | Remote/transport error |
| 9 | Internal error |

## Flags Reference

| Flag | Effect |
|------|--------|
| `--debug` | Include raw error diagnostics |
| `--human` | Human-readable output |
| `--yes` | Auto-confirm prompts |
| `--api-key <key>` | Override API key |

**Avoid:** `--quiet` (suppresses all output including data)

## Pre-flight Checklist

Before invoking a tool:

1. ✅ Confirmed server exists (`catalog`)
2. ✅ Confirmed tool exists (`catalog <server>`)
3. ✅ Checked required fields in schema
4. ✅ Matched types exactly (number vs string)
5. ✅ Used exact casing for IDs
6. ✅ If using `--input @path`, verified file doesn't contain sensitive data

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…