Skip to main content

MCP overview

Viewfield ships a built-in Model Context Protocol (MCP) server that exposes the studio as callable tools: 85 tools as of October 15, 2026. Any MCP client (Claude Code, Claude Desktop, Cursor, or your own code) can draft and revise in your voice, teach the brand, read AI visibility, propose a page change and prepare a CMS preview, without touching the UI. It stops where a person decides: no tool saves to your CMS or publishes, and no tool posts to a social network.

What is MCP?​

MCP is an open standard for connecting AI models to tools and data. A server advertises a set of tools; the model calls them as structured function calls during a conversation. Viewfield's server is reachable at https://viewfield.ai/api/mcp and authenticated with a Bearer API key, which also scopes every call to your workspace. See Install the MCP and Authentication.

The server is self-describing​

There is no per-tool reference page. When your client connects, it reads each tool's name, description and input schema over the protocol, always current with the server. Ask your agent to "list the Viewfield tools". This page says what the tools cover; for the exact arguments of any tool, read its schema from your client.

What the tools cover​

Drafts​

ToolWhat it does
draft_pieceWrites one piece from a prompt or from an AI visibility item (item_type of aeo_prompt or aeo_change with its id), in a kind: blog, linkedin, x_post, x, newsletter or custom. A draft from a prompt returns its id at once and finishes writing on the server; a draft from an item returns once it is written, and asking again for the same item and kind answers the same draft
get_generation_statusWhether a draft has finished writing
get_content, list_contentOne draft in full; the library, newest first, paginated
update_contentReplace the body or the title; every body edit keeps a version
ai_edit_contentRewrite a draft from an instruction, with the whole brand context and the checks, versioned
set_content_statusDraft or Final (draft or ready)
list_content_versions, restore_content_versionThe history, and a restore (itself reversible)
verify_claimsExtract a draft's checkable claims and web-check them: supported, unverified or contradicted, with a source. Advisory, and rate limited
export_contentMarkdown as text, or a Word or PDF file as base64
import_contentA public URL or pasted text becomes a draft
search_librarySearch by meaning across everything the workspace has made
request_reviewAsk the workspace's managers to review a draft
delete_contentPermanently delete a draft (destructive; managers)

Chat​

send_chat_message and get_conversation drive the chat thread on one draft.

Brand​

ToolWhat it does
get_engine_configEvery section of Brand
update_engineThe workspace's name, description and website
update_voice, update_brand, update_positioning, update_writing_rulesThe voice, the brand basics, the positioning statement and the writing rules; each merges the fields you provide, so a partial update never wipes a value
set_writing_directivesTeach a standing directive: ban a word or allow it again, add, drop or rewrite a rule, replace a voice or brand field
set_platform_toneThe rule for a kind of draft, or a custom kind
add_competitorA company AI answers may name instead of you, with its class
update_engine_item, delete_engine_item, ai_update_engine_itemEdit, delete or AI-rewrite a competitor, a doc or a kind's rule
list_engine_versions, save_engine_version, restore_engine_version, rename_engine_version, delete_engine_versionVersion history per section
list_item_versions, restore_item_versionVersion history per item

Every Brand write is manager-level.

Docs​

upload_document adds a reference document to Brand › Docs (managers); list_documents lists them.

The checks​

ToolWhat it does
list_skills, set_skill_enabled, list_available_skillsThe built-in checks (anti-slop, casual language, technical accuracy, answer engine readiness) and your own, with their state. Any member switches a built-in check; harness (all of them at once) and your own checks are a manager's
add_skill, update_skill, delete_skillYour own checks, as SKILL.md-style markdown (managers)
list_memories, set_memory_weight, mute_memoryWhat the checks learned from your edits, with weights (changing one is a manager's)
remember_ruleTeach a durable rule: a standing instruction, or a word for the lint to catch (managers)
guard_reviewRun the checks over any text or public URL: a report (no model call), or a repair

Copy in your codebase​

review_copy and revise_copy run copy from any repo (a landing page, docs, UI strings) through the brand and the checks and hand the result back, without creating a draft. See Use Viewfield in your codebase.

AI visibility​

ToolWhat it does
get_aeo_trackingHow many questions you track against your plan's limit, the engines your plan covers, the categories and the status
list_aeo_promptsEvery tracked question with its id, category, type, status and how often answers named you, filtered by status or category: the ids manage_aeo_tracking takes
get_aeo_visibilityVisibility, share of voice and average position over a window, per engine, with the latest changes and what the engines searched for
get_aeo_citationsThe sources and pages AI answers cite, your citation share and coverage
get_aeo_prompt, get_aeo_answerOne question with its history, pages and recent answers; one answer verbatim
get_aeo_changeOne measured change with its counts, windows and evidence
get_question_playbookWhat wins one question now: who the answers name, the pages they cite, your own page on it
get_aeo_suggestionsThe next steps, ranked by the gap, with their state and evidence
plan_content, get_content_planUp to three pieces planned for a question, and the newest plan
manage_aeo_trackingManagers: add, reword, pause, resume or archive a question (pause, resume and archive take up to 25 at once); categories; the brand's other names, owned hosts, country and category; rewrite the seeded questions

To write a piece for a question or a change, call draft_piece with the item.

Website AEO​

list_aeo_pages lists every page of your site as AI answers use it, grouped by section with citation share, rank, readability and open actions; get_aeo_page reads one page with its history, audit and next steps.

Your website and CMS​

ToolWhat it does
list_site_pages, get_site_pageThe pages a connected CMS reaches, and one page read now (on your own hosts only)
propose_site_change, list_site_changes, get_site_changePropose a change to one of your pages, and read proposals with their evidence and outcome
set_default_siteManagers: which site Website AEO lists
list_site_destinations, get_site_post_formWhere a piece can be sent, with its readiness; the fields a destination asks for
prepare_site_publicationThe preview of a draft for one destination: what would be sent, its public URL, every warning. Sends nothing
get_site_publicationWhere a draft stands in your CMS
get_site_coverageWhat your site serves on one question, work in flight, and where a new piece belongs

Saving a draft or a change in the CMS, publishing and reverting are a person's press in the app.

The workspace​

list_categories, create_category, update_category, delete_category (managers), set_content_categories and assign_content_owner (the piece's owner or a manager) file drafts; get_usage reads the plan and the allowance left (check it before paid work); list_notifications and mark_notifications_read read your inbox.

Example prompts​

"Draft a LinkedIn post about why a close you can explain beats a close you can rush, then export it as Markdown so I can paste it."

"Which of our tracked questions does Perplexity answer without naming us, and which pages does it cite instead?"

"Propose changes to our pricing page for the question it should win, and show me the before and after."

"Prepare the preview of draft 7c1 for the blog destination and tell me what would be sent."

"Review the copy in app/page.tsx with Viewfield and rewrite whatever it flags."

Conventions​

  • Every call is scoped to the workspace the API key belongs to; there is no cross-workspace access.
  • A key acts as the member who made it, with their role; a manager-level tool refuses a contributor's key ("This action requires the manager role."), and a tool on one draft needs the access to that draft the person has in the app. Every AI visibility tool refuses while AI visibility is off for the workspace.
  • Inputs are validated against each tool's schema; invalid arguments return a clear error rather than a partial write.
  • list_content, list_categories and list_memories paginate with a cursor: they return { items, nextCursor }, and you pass nextCursor back as cursor for the next page. list_aeo_pages returns next the same way; the other list tools return everything at once.
  • AI-driven tools (a draft, a rewrite, a plan, a page change proposal) spend from the same workspace allowance the app does, and refuse with the same sentence when it is spent.
  • A refusal from the product (a spent allowance, a feature not on the plan, a page that moved) reaches the client verbatim.

Transport and limits​

The server uses the MCP Streamable HTTP transport, stateless, bridged to local clients with mcp-remote. Each key may make 120 requests a minute and each workspace 120 tool calls a minute; one request carries at most 25 messages. Proposing a page change (10 a minute), reading your site live (30 a minute) and planning content each have their own budget per workspace, shared with the app and Ask Viewfield. See Authentication for the per-tool limits and the errors.