Skip to main content
Glama

configure_project

Register a project and associate it with your app's URLs so the Pincushion extension automatically activates for visitors on those URLs.

Instructions

Register a Pincushion project and associate it with your app's URLs. Once registered, anyone visiting those URLs with the Pincushion extension installed will automatically see the pin UI — no meta tag or manual setup needed. Pass both your local dev URL and your live/staging URL so the extension activates in all environments. Optional traceability knobs (commitTrailers, attributionComments, recordCommitSha) control how implemented pins are recorded in git and source — see each property's description. NOTE for read-only use cases: if you only need to look up brand context, URLs, or other project metadata, call get_project_context instead — configure_project mutates state (upserts the project row, syncs to cloud, creates a deploy hook, idempotently inserts the bot member).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable project name (e.g. "Superbill Pro", "My SaaS Staging")
urlsNoURLs or origins where this project lives. Include both local and live environments (e.g. ["localhost:3000", "superbill-pro.vercel.app"]). The extension activates automatically on any matching URL.
autoCritiqueNoWhen true (default for Pro/Team), every deploy-hook trigger enqueues an AI critique request the dev can run via /critique-latest-deploy. Set false to opt out without dropping plan. Free licenses ignore this — auto-queue is a Pro/Team feature.
brandContextNoLEGACY single-blob brand context (max 2048 chars). Kept for back-compat. Prefer the layered `critiqueContext` + `critiquePolicy` + `critiqueSignals` triplet — `get_project_context` falls back to brandContext only when no compiled critique context exists.
commentAccessNoWho can drop pins on this project. "open" (default — Free, Pro, Team) — anyone with the URL. "domain" (Pro/Team) — only emails in the allowedDomains list. "invited" (Pro/Team) — only emails added via add_member. Free projects can only use "open"; the server returns 402 plan_required if a Free license attempts "domain" or "invited".
allowedDomainsNoBare domains permitted to comment when commentAccess is "domain" (e.g. ["acme.com", "acme.co.uk"]). Required for "domain" mode, ignored otherwise.
commitTrailersNoWhich trailers go in the body of pin commits. "minimal" (default): Pin-ID only — today's behavior. "standard": adds Reviewed-By with the pin's approver, suppressed when the approver is the same person as the committer. "full": standard plus Pincushion-Pin-Url for terminal-first workflows. Per-shell override: set env PINCUSHION_TRAILERS=off to force minimal regardless of project setting.
critiquePolicyNoUser-editable critique policy override (max 4096 chars). Survives recompiles, so users can hand-tune what good critique looks like for their project. Example: "Weight copy concerns 2x. Ignore AAA contrast — audience is technical developers. Reject playful microcopy; tone is restrained, confident." Empty / null means "no override — use signals alone".
critiqueContextNoCompiled critique brief (max 8192 chars). The Pincushion AI critic loads THIS into its prompt at pin time. Produced by the dev agent at /setup or /refresh-brand by synthesizing `critiqueSignals` + `critiquePolicy` + recent resolved-pin patterns into a tight markdown brief. Updating this stamps `critiqueContextCompiledAt` + a pin-count baseline for staleness detection. Pass null to clear and force a recompile.
critiqueSignalsNoRaw brand signals the dev agent gathered from the repo at /setup or /refresh-brand. Shape is flexible JSONB — recommended keys: { framework: e.g. "next-app-router"|"astro"|"static-html", projectType: "marketing"|"app"|"mixed", pages: [{ url, source, slice, headings, ctas, components, bodyExcerpt }], themeTokens, brandDocs, readmeExcerpt, competitors, mission, audience, tone, tenantContexts (reserved/null in v1 — future multi-tenant SaaS support keyed by pageUrl prefix), sources }. Retained for traceability + future recompiles; the AI critic does NOT read this directly — it reads the compiled `critiqueContext` instead.
recordCommitShaNoWhether fix_and_resolve stores the implementing commit SHA on the pin for the dashboard backlink. Default: true. Invisible plumbing — has no source-code or commit-log cost. Set false only if you specifically don't want commit SHAs synced to Pincushion.
attributionCommentsNoWhen the implementing agent should leave inline source comments. "off" (default): never — keep code clean, rely on the commit. "context-warrants": one-line comment ONLY when the pin captures a non-obvious WHY (a constraint, intent, or rationale not self-evident from the diff). "always": every Pincushion-implemented change gets a comment (escape hatch for teams that want maximum visibility and accept the rot risk). Format is fixed: // Pincushion <pinId>: <one-line WHY>.
Behavior5/5

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

With no annotations provided, the description fully covers behavioral traits: it mutates state (upserts project row, syncs to cloud, creates deploy hook, inserts bot member), lists traceability knobs (commitTrailers, attributionComments, recordCommitSha), and mentions idempotent insertion. No contradictions.

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?

The description is a single paragraph front-loaded with the main action and benefit, then details and usage note. Every sentence adds value; no wasted words. Efficiently structured for scanning.

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

Completeness4/5

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

Given 12 parameters, no output schema, and high complexity, the description covers purpose, mutation behavior, and usage guidance. However, it does not specify the return value or error conditions (e.g., plan restrictions for commentAccess), which would enhance completeness.

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% with each parameter documented. The description adds context beyond the schema, e.g., explaining why both local and live URLs are needed ('so the extension activates in all environments') and summarizing traceability knobs. Slightly above baseline.

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 clearly states the action: 'Register a Pincushion project and associate it with your app's URLs.' It uses a specific verb (register/configure) and resource (project), distinguishing it from the read-only sibling `get_project_context`.

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?

Explicitly notes when NOT to use: 'if you only need to look up brand context, URLs, or other project metadata, call `get_project_context` instead.' Also explains that this tool mutates state, providing clear context for when to choose alternatives.

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/jcooley8/pincushion-plugin'

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