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.
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:
vault-docs-mcp— public documentation search athttps://docs.veevavault.dev/mcp. No authentication.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:
- An OAuth/OIDC application in the company identity provider.
- A Vault OAuth 2.0 / OpenID Connect profile with Authorization Server metadata.
- Client ID Mapping between the Vault application client ID and the IdP client ID.
- 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
- Open Cursor Dashboard > Plugins.
- Under Team Marketplaces, select Add Marketplace.
- Select Import from Repo and enter
https://github.com/armin-demo/veeva-plugin. - Review the detected plugin and add it to the marketplace.
- 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:
- Call
discover_vault_authwith your Vault username. - Call
login_vault_oauthand complete the browser login. - Call
vault_connection_status, then a read tool such asrun_vql.
Docs query tips are in Formatting MCP Queries.
Docs MCP tools
search_developer_docssearch_api_referencesearch_sdk_javadocssearch_vapil_javadocssearch_vault_help_docs
Customer Vault MCP tools
discover_vault_authlogin_vault_oauthvault_connection_statuslogout_vaultrun_vqlget_object_metadataget_object_recordget_document_metadataget_document_version_metadatalist_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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.