Skip to main content
Glama

Arch

Cursor and Grok Bot plugin with two MCP tools:

  • arch_review — paid theological review of faith, Scripture, or doctrinal text

  • kjv_lookup — free, offline King James verse lookup from text bundled in this plugin

Arch endpoint: POST https://arch.tnvolman.com/v1/review
Auth (arch_review only): X-API-Key from the plugin variable ARCH_API_KEY (each end user supplies their own key)
Homepage: https://arch.tnvolman.com

kjv_lookup does not use the key, does not call the network, and does not charge.

Install

Install this repository as a Cursor or Grok Bot plugin (marketplace listing, or a local plugin directory that contains .cursor-plugin/plugin.json).

The plugin starts a zero-dependency Node stdio server. The launch command is the arch-mcp executable (bin/arch-mcp), which runs server/index.mjs:

{
  "mcpServers": {
    "arch": {
      "command": "${CURSOR_PLUGIN_ROOT}/bin/arch-mcp",
      "args": [],
      "env": {
        "ARCH_API_KEY": "${ARCH_API_KEY}"
      }
    }
  }
}

The executable basename is arch-mcp. package.json maps that command name to bin/arch-mcp. Node.js 18 or newer is required (fetch is built in). There are no npm dependencies. bin/arch-mcp itself needs Node.js 18.19 or newer, which is when Node runs an extensionless file in a "type": "module" package.

On Windows, bin/arch-mcp is a shebang script. Windows users can still run node server/index.mjs from the plugin directory. Use that same command on Node versions older than 18.19.

Related MCP server: CodeRabbit MCP

Get an Arch API key

Arch does not publish a separate API-key page. https://arch.tnvolman.com/api-key is not a page. The key form is on the homepage: Get your API key. The API docs quick start points at that same page.

Submit your name, email, and privacy consent. The page issues a key immediately and shows it once; a copy is also emailed. Attach a card from the link on that result, or later from the developer dashboard (email magic link), before a paid review.

Configure ARCH_API_KEY

  1. Get a key at arch.tnvolman.com/#access, as described above.

  2. In the plugin dashboard, open Plugins → Arch → Configure.

  3. Set Arch API Key (ARCH_API_KEY).

The plugin stores only the variable name. The key stays in the client configuration and is passed to the server as ARCH_API_KEY. arch_review fails closed when the key is missing. kjv_lookup never reads it.

Pricing

This plugin is free. It calls the Arch API with your own key, and Arch bills each review.

Cost

Each paid review is $2.00. Volume pricing for businesses is by agreement: api@tnvolman.com.

kjv_lookup is free.

Skills

Skills live in skills/*/SKILL.md.

Skill

What it does

Check a sermon before publishing

One arch_review of the sermon before it is published or preached.

Review a devotional

One arch_review of a devotional, daily reading, or email devotion before it is published.

Review a Bible study or Sunday school lesson

The user pastes the lesson text. One arch_review per lesson. Arch reviews the theology of the text only. Warn that each review costs $2, ask before more than 3 reviews in a batch, then summarize the fixes.

Arch theological review

The general review skill for other faith, Scripture, or doctrinal text.

A failed review is not retried, and a long text is not split into extra paid calls, unless the user agrees to another charge.

Fail closed

arch_review returns an error, and never a made-up verdict, when:

  • ARCH_API_KEY is missing or empty

  • Arch returns any non-2xx status

    • 401 bad API key

    • 400 bad text

    • 402 no payment method, or payment declined

    • 429 rate limit (60 requests per minute)

    • 503 upstream unavailable

  • the network fails, or a 2xx body is not JSON

On an error, do not publish the content and do not invent passed, review, or suggestions.

kjv_lookup is separate. A bad reference returns an error and no verse text. It does not change arch_review.

Tool: arch_review

Request:

Field

Required

Notes

text

yes

string, at most 50000 characters

max_tokens

no

number

payment_method_id

no

legacy

idempotency_key

no

also sent as the Idempotency-Key header

Success body fields: review, passed, suggestions, charge_id, billing_status, meta.

Tool: kjv_lookup

Offline lookup of the public-domain King James Version (1769). No network call, no API key, and no charge. It returns verse wording only. It does not review theology; use arch_review for that.

Field

Required

Notes

ref

yes

"John 3:16", a same-chapter range such as "Romans 8:28-30", a numbered book such as "1 John 4:8", or a common abbreviation such as "Jn 3:16", "Rom 8:28", or "1 Cor 13:4"

Success fields: reference, translation, edition, book, chapter, verse_start, verse_end, and verses (verse, text).

A reference that cannot be read, an unknown book, a missing chapter, or a missing verse returns a clear error. Ranges stay inside one chapter.

KJV text source

Bundled file: server/data/kjv.json (4,248,786 bytes). 66 books, 31,102 verses, no Apocrypha.

The text is the 1769 King James Version, which is in the public domain. It comes from farskipper/kjv json/verses-1769.json at commit 8f06584d580a767425d7d4b4c314b967e6d45ab5. That repository's LICENSE is The Unlicense, a public-domain dedication with no license restrictions, and its README says "Public Domain."

This plugin stores a compact copy of that verse text. A leading # paragraph marker was removed from verses that had one. Words the source marks as italics stay in square brackets, for example [his]. The source titles Song of Solomon as "Solomon's Song"; lookup accepts both, and the book name it returns is "Song of Solomon".

Tests

node --test

npm test runs the same command. The tests do not call Arch.

What this plugin does not do

It does not call or wrap /api/arch/review, /arch/request-access, billing setup, the dashboard, admin or internal routes, or api.arch.tnvolman.com.

kjv_lookup does not call Arch. arch_review reviews the theology of text only.

Data

Review text is sent to the Arch API for review, and Arch does not use it to train AI models. See the Privacy Policy for which services process it.

Support

Contact api@tnvolman.com.

License

MIT. See LICENSE. The bundled King James text is public domain, as noted above.

Available Tools

2 tools
arch_reviewA

Review faith, Scripture, or doctrinal text before publishing it. POST /v1/review on https://arch.tnvolman.com. Returns only Arch's review, passed, suggestions, charge_id, billing_status, and meta. Each paid review costs $2.00 or less. Fails closed: missing ARCH_API_KEY or any non-2xx is an error, never a fabricated pass. Do not call for non-theological text.

NameRequiredDescriptionDefault
textYesRequired review body. Max 50000 characters.
max_tokensNoOptional max tokens for the review response. Default 1024.
idempotency_keyNoOptional idempotency key. When set, also sent as Idempotency-Key header.
payment_method_idNoLegacy optional payment method id.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the endpoint, the exact return fields, per-call cost ($2.00 or less), required auth (ARCH_API_KEY), and a fail-closed error contract that explicitly forbids a fabricated pass. This is exactly the behavioral context an agent needs before a paid, credentialed call.

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

Conciseness5/5

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

Five short sentences, front-loaded with purpose, then mechanism, return shape, cost, failure mode, and exclusion. Every sentence carries distinct decision-relevant information with no repetition of schema fields.

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?

Although there is no output schema, the description enumerates the return payload (review, passed, suggestions, charge_id, billing_status, meta) and covers cost, auth, and failure semantics. Nothing an agent needs to invoke this correctly is missing.

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 coverage is 100%, so every parameter is already documented in the schema. The description adds only indirect meaning (that calls are paid, implying max_tokens affects cost) without explaining idempotency_key or payment_method_id beyond what the schema states, so baseline 3 applies.

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?

States a specific verb ('Review') and a precise resource ('faith, Scripture, or doctrinal text') plus the publishing context it serves. The domain boundary ('Do not call for non-theological text') cleanly separates it from the kjv_lookup sibling, which serves a lookup rather than a review function.

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

Usage Guidelines4/5

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

Gives clear when-to-use ('before publishing it') and an explicit when-not ('Do not call for non-theological text'). It does not name an alternative tool for non-theological review, but no sibling serves that need, so the omission is minor.

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

kjv_lookupA

Look up a King James Version verse or same-chapter verse range from the bundled public-domain KJV text. Offline: no API key, no network call, and no charge. Accepts references such as "John 3:16", "Romans 8:28-30", numbered books ("1 John 4:8"), and common abbreviations ("Jn 3:16", "Rom 8:28", "1 Cor 13:4"). Returns the verse text only. This is not a theological review; use arch_review for that. Unknown books, chapters, and verses return an error.

NameRequiredDescriptionDefault
refYesBible reference, for example "John 3:16" or "Romans 8:28-30".

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses offline execution, absence of API key/network/cost, that the return is verse text only, and that unknown books/chapters/verses return an error. That covers the operational and failure profile an agent needs before calling.

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

Conciseness5/5

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

Four tight sentences: purpose and source first, then the operational guarantees, then accepted input forms, then the return/error behavior and sibling routing. No sentence is filler.

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?

One required parameter, no output schema, no annotations — and the description still closes the gaps by stating the return value ('verse text only'), error behavior, and call cost. An agent could invoke this correctly without opening the schema.

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

Parameters4/5

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

Schema coverage is 100%, so baseline would be 3, but the description adds real meaning beyond the schema by enumerating accepted reference forms: same-chapter ranges, numbered books ('1 John 4:8'), and common abbreviations ('Jn', 'Rom', '1 Cor'). It only omits edge-case details such as whitespace or case handling.

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?

States a specific verb and resource ('Look up a King James Version verse or same-chapter verse range') plus the source ('bundled public-domain KJV text'). It also explicitly distinguishes itself from the only sibling by declaring 'This is not a theological review; use arch_review for that.'

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?

Gives the positive case (verse/range lookup in KJV), an explicit exclusion with the named alternative ('use arch_review for that'), and the operating conditions ('Offline: no API key, no network call, and no charge'). The agent knows exactly when to pick this tool and when not to.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedarch_review
    • First observedkjv_lookup

TDQS

A4.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: arch_review performs theological review, while kjv_lookup retrieves KJV verse text offline. Their descriptions explicitly cross-reference each other and state when not to use each tool.

Naming Consistency5/5

Both names use lowercase snake_case with a source/namespace prefix followed by an action: arch_review and kjv_lookup. The pattern is predictable and consistent.

Tool Count4/5

Two tools is slightly thin, but each covers a distinct, essential operation for this focused plugin. Neither feels redundant or unnecessary.

Completeness4/5

The core review and lookup workflows are covered, including error behavior and billing notes. Minor gaps exist around review history or broader Scripture search, but agents can work around them for the stated scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers