Veeva Vault MCP Plugin

Veeva Vault MCP Plugin

Provides two MCP servers: one for searching public Vault documentation and another for read-only access to customer Vaults via OAuth/OIDC.

Category
Visit Server

README

Veeva Cursor plugin

Use official Veeva Vault platform documentation and optional read-only customer Vault access from Cursor.

What it provides

The plugin ships two MCP servers:

  1. vault-docs-mcp — public documentation search at https://docs.veevavault.dev/mcp. No authentication.
  2. vault-readonly-mcp — local stdio MCP that authenticates to a customer Vault with OAuth/OIDC and exposes read-only tools.

The docs server searches Vault Platform developer docs, API reference, SDK and VAPIL Javadocs, and Vault Help. It does not authenticate to a customer Vault.

The customer Vault server can discover OAuth profiles, open a browser login with PKCE, exchange an IdP access token for a Vault session, run read-only VQL, and retrieve object/document metadata. It does not create, update, or delete Vault data, and it does not download source files or renditions.

Prerequisites for customer Vault auth

Customer administrators must configure:

  1. An OAuth/OIDC application in the company identity provider.
  2. A Vault OAuth 2.0 / OpenID Connect profile with Authorization Server metadata.
  3. Client ID Mapping between the Vault application client ID and the IdP client ID.
  4. A loopback redirect URI using http://127.0.0.1:<port>/callback. The plugin chooses an ephemeral port, so the IdP must allow loopback redirects with a dynamic port when possible.

SAML-only security policies without OAuth profiles are out of scope for this release. Username/password Vault auth is also out of scope.

Plugin configuration

Set these plugin variables in Cursor Dashboard → Plugins → Configure, or export them for local development:

Variable Required Purpose
VAULT_OAUTH_APP_CLIENT_ID Yes Application Client ID from Vault Client ID Mapping
VAULT_DNS No Preferred Vault hostname, for example myvault.veevavault.com
VAULT_OAUTH_SCOPES No Default openid profile offline_access
VAULT_API_VERSION No Default v26.1

Cursor's public plugin schema may lag the documented variables feature. After importing into a Team Marketplace, confirm the Configure UI substitutes these values into mcp.json.

Add it to a Cursor team

  1. Open Cursor Dashboard > Plugins.
  2. Under Team Marketplaces, select Add Marketplace.
  3. Select Import from Repo and enter https://github.com/armin-demo/veeva-plugin.
  4. Review the detected plugin and add it to the marketplace.
  5. Configure marketplace access, installation mode, optional auto-refresh, and the Vault OAuth variables above.

This single-plugin repository does not need a marketplace.json.

Load it for local development

git clone https://github.com/armin-demo/veeva-plugin.git
cd veeva-plugin
npm install
mkdir -p ~/.cursor/plugins/local
ln -s "$(pwd)" ~/.cursor/plugins/local/veeva

Reload Cursor, open Customize, and confirm both MCP servers appear.

Verify the connections

Open Agent chat and enter /mcp.

For docs search, ask:

Create Document API request parameters

For customer Vault access:

  1. Call discover_vault_auth with your Vault username.
  2. Call login_vault_oauth and complete the browser login.
  3. Call vault_connection_status, then a read tool such as run_vql.

Docs query tips are in Formatting MCP Queries.

Docs MCP tools

  • search_developer_docs
  • search_api_reference
  • search_sdk_javadocs
  • search_vapil_javadocs
  • search_vault_help_docs

Customer Vault MCP tools

  • discover_vault_auth
  • login_vault_oauth
  • vault_connection_status
  • logout_vault
  • run_vql
  • get_object_metadata
  • get_object_record
  • get_document_metadata
  • get_document_version_metadata
  • list_api_versions

Vault sessions stay in process memory only. Tool responses never include session IDs, access tokens, or Authorization headers.

Extend the plugin

Component Location
Skill skills/<name>/SKILL.md
Subagent agents/<name>.md
Rule rules/<name>.mdc
Command commands/<name>.md
Hook configuration hooks/hooks.json
Shared asset assets/
Customer Vault MCP servers/vault-readonly/

See CONTRIBUTING.md for formats, build steps, and secrets rules.

Develop and validate

Requires Node.js 18 or newer:

npm install
npm test
npm run validate

The customer Vault MCP entrypoint is a self-contained bundle at servers/vault-readonly/dist/index.js, so marketplace installs do not require npm install on the user machine. Rebuild and commit that bundle after source changes.

License and trademarks

The code in this repository is available under the MIT License. This is an unofficial community plugin and is not endorsed by Veeva Systems. Veeva and Vault are trademarks of their respective owner.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured