{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","name":"grep-public-api-v2","version":"1.0","protocolVersion":"2025-06-18","serverInfo":{"name":"grep-public-api-v2","title":"Grep Public API v2 MCP","version":"1.0.0"},"description":"Run Grep agents, then continue, cancel, and inspect their runs through public API v2 tools.","documentationUrl":"https://grep.ai/developers/api/v2","documentation_url":"https://grep.ai/developers/api/v2","transport":{"type":"streamable-http","url":"https://api.grep.ai/mcp","endpoint":"https://api.grep.ai/mcp"},"capabilities":{"resources":{"listChanged":false,"subscribe":false},"tools":{"listChanged":false}},"auth":{"type":"oauth2","resource_metadata_url":"https://api.grep.ai/.well-known/oauth-protected-resource/mcp"},"tools":[{"name":"research_create","description":"Deprecated: use run_create. Start a Grep run."},{"name":"run_create","description":"Start a Grep run."},{"name":"research_continue","description":"Deprecated: use run_continue. Continue a completed Grep run with additional instructions."},{"name":"run_continue","description":"Continue a completed Grep run with additional instructions."},{"name":"research_cancel","description":"Deprecated: use run_cancel. Cancel an in-progress Grep run."},{"name":"run_cancel","description":"Cancel an in-progress Grep run."},{"name":"research_list","description":"Deprecated: use run_list. List Grep runs visible to the OAuth subject."},{"name":"run_list","description":"List Grep runs visible to the OAuth subject."},{"name":"research_get","description":"Deprecated: use run_get. Get a Grep run report and state."},{"name":"run_get","description":"Get a Grep run report and state."},{"name":"research_publish","description":"Deprecated: use run_publish. Grep public API v2 MCP tool: research_publish."},{"name":"run_publish","description":"Grep public API v2 MCP tool: run_publish."},{"name":"research_timeline","description":"Deprecated: use run_timeline. List timeline events for a Grep run."},{"name":"run_timeline","description":"List timeline events for a Grep run."},{"name":"research_files_list","description":"Deprecated: use run_files_list. List files generated by a Grep run."},{"name":"run_files_list","description":"List files generated by a Grep run."},{"name":"research_file_read","description":"Deprecated: use run_file_read. Read a generated research file."},{"name":"run_file_read","description":"Read a generated research file."},{"name":"attachment_create","description":"Upload one or more attachments for future runs."},{"name":"attachment_upload_begin","description":"Reserve an attachment and mint a one-time upload URL for a local file."},{"name":"attachment_get","description":"Inspect an attachment."},{"name":"attachment_delete","description":"Delete an attachment."},{"name":"quota_get","description":"Read current public API quota."},{"name":"quota_check","description":"Check whether quota is available for a requested effort."},{"name":"billing_usage_get","description":"Read billing usage for public API calls."},{"name":"billing_transactions_list","description":"List billing transactions for public API usage."},{"name":"swarm_render","description":"Show an Agent Swarm workflow card without starting work."},{"name":"swarm_batch_view","description":"Deprecated: use batch_view. Open an existing batch in the Agent Swarm job grid."},{"name":"batch_view","description":"Open an existing batch in the Agent Swarm job grid."},{"name":"swarm_campaign_view","description":"Deprecated: use campaign_view. Open an existing campaign workflow and job grid."},{"name":"campaign_view","description":"Open an existing campaign workflow and job grid."},{"name":"expert_create","description":"Deprecated: use agent_create. Create a custom agent from a full configuration (prompt, skills, tools, output schema/SOP, form, defaults)."},{"name":"agent_create","description":"Create a custom agent from a full configuration (prompt, skills, tools, output schema/SOP, form, defaults)."},{"name":"expert_build_start","description":"Deprecated: use agent_build_start. Start an async prompt-driven agent build in a sandbox."},{"name":"agent_build_start","description":"Start an async prompt-driven agent build in a sandbox."},{"name":"expert_build_get","description":"Deprecated: use agent_build_get. Poll the status of an agent build job."},{"name":"agent_build_get","description":"Poll the status of an agent build job."},{"name":"expert_list","description":"Deprecated: use agent_list. List custom agents visible to the OAuth subject."},{"name":"agent_list","description":"List custom agents visible to the OAuth subject."},{"name":"expert_get","description":"Deprecated: use agent_get. Read back an agent's full configuration."},{"name":"agent_get","description":"Read back an agent's full configuration."},{"name":"expert_update","description":"Deprecated: use agent_update. Partially update an agent's configuration (omitted fields unchanged)."},{"name":"agent_update","description":"Partially update an agent's configuration (omitted fields unchanged)."},{"name":"expert_delete","description":"Deprecated: use agent_delete. Archive a custom agent."},{"name":"agent_delete","description":"Archive a custom agent."},{"name":"skills_list","description":"List/search skills an agent can link (catalog plus the caller's custom skills); filter by query/category."},{"name":"skill_get","description":"Read a skill's SKILL.md content."},{"name":"skill_create","description":"Create a custom skill from SKILL.md content."},{"name":"mcp_tools_list","description":"List/search MCP tools an agent can be granted; always_on entries need no grant."},{"name":"expert_context_file_upload","description":"Deprecated: use agent_context_file_upload. Attach a context file to an agent (base64 for binary formats)."},{"name":"agent_context_file_upload","description":"Attach a context file to an agent (base64 for binary formats)."},{"name":"expert_context_files_list","description":"Deprecated: use agent_context_files_list. List an agent's context files."},{"name":"agent_context_files_list","description":"List an agent's context files."},{"name":"expert_context_file_get","description":"Deprecated: use agent_context_file_get. Read one agent context file (binary returns base64)."},{"name":"agent_context_file_get","description":"Read one agent context file (binary returns base64)."},{"name":"expert_context_file_delete","description":"Deprecated: use agent_context_file_delete. Detach a context file from an agent."},{"name":"agent_context_file_delete","description":"Detach a context file from an agent."},{"name":"expert_versions_list","description":"Deprecated: use agent_versions_list. List an agent's configuration versions."},{"name":"agent_versions_list","description":"List an agent's configuration versions."},{"name":"expert_version_get","description":"Deprecated: use agent_version_get. Read one agent configuration version snapshot."},{"name":"agent_version_get","description":"Read one agent configuration version snapshot."},{"name":"expert_version_restore","description":"Deprecated: use agent_version_restore. Restore an agent to a previous configuration version."},{"name":"agent_version_restore","description":"Restore an agent to a previous configuration version."},{"name":"expert_extract_config","description":"Deprecated: use agent_extract_config. Preview config extraction (SOP + schema) from pasted text."},{"name":"agent_extract_config","description":"Preview config extraction (SOP + schema) from pasted text."},{"name":"expert_generate_workflow","description":"Deprecated: use agent_generate_workflow. Preview an authored workflow DSL for an SOP."},{"name":"agent_generate_workflow","description":"Preview an authored workflow DSL for an SOP."},{"name":"expert_plan_preview","description":"Deprecated: use agent_plan_preview. Preview the plan an agent would produce for a question (planning phase only)."},{"name":"agent_plan_preview","description":"Preview the plan an agent would produce for a question (planning phase only)."},{"name":"expert_apply","description":"Deprecated: use agent_apply. Apply a declarative agent manifest: diff desired vs current state and perform the minimal delta."},{"name":"agent_apply","description":"Apply a declarative agent manifest: diff desired vs current state and perform the minimal delta."},{"name":"expert_share","description":"Deprecated: use agent_share. Grant a user, domain, or team access to an agent."},{"name":"agent_share","description":"Grant a user, domain, or team access to an agent."},{"name":"expert_unshare","description":"Deprecated: use agent_unshare. Revoke an agent access grant."},{"name":"agent_unshare","description":"Revoke an agent access grant."},{"name":"expert_shares_list","description":"Deprecated: use agent_shares_list. List an agent's access grants."},{"name":"agent_shares_list","description":"List an agent's access grants."},{"name":"expert_set_visibility","description":"Deprecated: use agent_set_visibility. Set an agent public or private."},{"name":"agent_set_visibility","description":"Set an agent public or private."},{"name":"batch_create","description":"Create a batch: one run per question, dispatched async under one handle."},{"name":"batch_list","description":"List your batches (filter by name or status, cursor-paginated)."},{"name":"batch_estimate","description":"Preflight credit estimate for a batch before creating it."},{"name":"batch_get","description":"Batch status, progress, config, and per-row detail with linked run ids."},{"name":"batch_cancel","description":"Cancel a batch: stop launching rows; running rows settle."},{"name":"batch_retry_row","description":"Re-run one failed batch row as a fresh run."},{"name":"batch_retry_failed","description":"Re-run every failed row of a batch in one call."},{"name":"batch_results","description":"Every batch row's result in one call: answer, structured output, report link."},{"name":"campaign_prepare","description":"Save or revise a campaign brief without starting research."},{"name":"campaign_brief_view","description":"Read an owner-scoped campaign brief and its workspace."},{"name":"campaign_validate","description":"Check a campaign plan and its records without creating anything."},{"name":"campaign_create","description":"Save a campaign plan as a draft; nothing runs until it is approved."},{"name":"campaign_update","description":"Replace a draft campaign's plan, and its records when given, before it is approved."},{"name":"campaign_quote","description":"Grep public API v2 MCP tool: campaign_quote."},{"name":"campaign_approve","description":"Start a draft campaign by approving its exact review digest; starts paid work."},{"name":"campaign_get","description":"A campaign's status, stage progress and deliverable file states."},{"name":"campaign_list","description":"List your campaigns, newest first, optionally by status."},{"name":"campaign_records","description":"Page one campaign stage's records."},{"name":"campaign_browser_sessions","description":"Every browser of a campaign's jobs: live views while running, recordings after."},{"name":"campaign_artifact_read","description":"Read a finished deliverable's file."},{"name":"campaign_cancel","description":"Stop a campaign from admitting new work."},{"name":"campaign_retry","description":"Run a campaign's failed work again: one stage's or every stage's."},{"name":"agent_catalog_search","description":"Grep public API v2 MCP tool: agent_catalog_search."},{"name":"expert_search","description":"Deprecated: use agent_search. Grep public API v2 MCP tool: expert_search."},{"name":"agent_search","description":"Grep public API v2 MCP tool: agent_search."},{"name":"expert_contract_get","description":"Deprecated: use agent_contract_get. Grep public API v2 MCP tool: expert_contract_get."},{"name":"agent_contract_get","description":"Grep public API v2 MCP tool: agent_contract_get."},{"name":"expert_quote","description":"Deprecated: use agent_quote. Grep public API v2 MCP tool: expert_quote."},{"name":"agent_quote","description":"Grep public API v2 MCP tool: agent_quote."},{"name":"expert_run","description":"Deprecated: use agent_run. Grep public API v2 MCP tool: expert_run."},{"name":"agent_run","description":"Grep public API v2 MCP tool: agent_run."},{"name":"expert_status","description":"Deprecated: use agent_status. Grep public API v2 MCP tool: expert_status."},{"name":"agent_status","description":"Grep public API v2 MCP tool: agent_status."},{"name":"expert_respond","description":"Deprecated: use agent_respond. Grep public API v2 MCP tool: expert_respond."},{"name":"agent_respond","description":"Grep public API v2 MCP tool: agent_respond."},{"name":"expert_continue","description":"Deprecated: use agent_continue. Grep public API v2 MCP tool: expert_continue."},{"name":"agent_continue","description":"Grep public API v2 MCP tool: agent_continue."},{"name":"expert_cancel","description":"Deprecated: use agent_cancel. Grep public API v2 MCP tool: expert_cancel."},{"name":"agent_cancel","description":"Grep public API v2 MCP tool: agent_cancel."},{"name":"agent_steer","description":"Grep public API v2 MCP tool: agent_steer."},{"name":"expert_artifacts_list","description":"Deprecated: use agent_artifacts_list. Grep public API v2 MCP tool: expert_artifacts_list."},{"name":"agent_artifacts_list","description":"Grep public API v2 MCP tool: agent_artifacts_list."},{"name":"expert_artifact_read","description":"Deprecated: use agent_artifact_read. Grep public API v2 MCP tool: expert_artifact_read."},{"name":"agent_artifact_read","description":"Grep public API v2 MCP tool: agent_artifact_read."}],"openapi_url":"https://api.grep.ai/api/v2/openapi.json","x-grep-agent-bootstrap":{"type":"signed-account-observation","metadata_url":"https://api.grep.ai/.well-known/grep-agent-auth","interactive":false,"assurance":"codex_observed","direct_codex":{"type":"signed-account-observation","authorization_scheme":"CodexIdentity","config_field":"send_account_identity","config_value":true,"proof_type":"codex-mcp-account-identity+jwt","subject_scope":"mcp_origin","assurance":"codex_observed","interactive":false}}}