Skip to main content
Glama
okra-project

okraPDF PDF MCP server

Official
by okra-project

Create View

create_view
Read-only

Render charts, tables, metrics, dashboards, and proof cards from a compact JSON view definition, with progressive preview as arguments stream. Use it when you already have data ready.

Instructions

Render a model-authored chart, table, metric, proof card, or dashboard as an MCP App and progressively preview safe component JSON while tool arguments stream. Use when you already have the data. For document-backed SQL/codemode work, use render_ui instead. Input view is a compact JSON string; top-level arrays are dashboard items. Do not pass HTML, scripts, iframes, or CDN-dependent payloads.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewYesCompact JSON string describing a model-authored Okra render view. Use this only when you already have the data and want the MCP App to render progressively while arguments stream. Supported safe component types: dashboard, table, metric, bar, line, area, scatter, vega-lite, proof-card, text, and json. Top-level arrays are treated as dashboard items. Do not use html/script/iframe payloads here; arbitrary HTML belongs in render_ui after server-side codemode completes.
titleNoOptional title for the rendered view.
heightNoPreferred inline widget height in pixels.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes that this is a safe read operation. The description adds valuable behavioral context: progressive preview while arguments stream, safe component JSON handling, and top-level array interpretation. It does not cover auth or error behavior, but the added details go well beyond the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact at four sentences and front-loaded with the core purpose. Each sentence contributes usage guidance or constraints. It loses a point for some redundancy with the schema's parameter descriptions, especially the list of component types.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Combined with the rich schema and readOnly annotation, the description provides all needed context: when to use, when not to use, input format, restrictions, and render behavior. Even without an output schema, the 'progressively preview' phrasing conveys what to expect. This is a complete, self-sufficient description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself provides rich parameter descriptions, including supported component types and the compact JSON format. The main description largely restates these points rather than adding new semantic meaning, so per the calibration baseline, a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb, 'Render,' and enumerates the output types (chart, table, metric, proof card, dashboard), making the tool's purpose unmistakable. It also explicitly contrasts with the sibling tool render_ui, which further disambiguates it. This is a model example of purpose clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states precisely when to use this tool ('when you already have the data') and explicitly directs to render_ui for document-backed SQL/codemode work. It also provides concrete exclusions by prohibiting HTML, scripts, iframes, and CDN-dependent payloads.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/okra-project/pdf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server