upsert_record

Insert or update a record (upsert). Checks for existing records using enhanced filters (supports $contains, $fuzzy, etc.). If found, updates matching records. If not found, creates a new record. Returns whether it created or updated. Use only when a rule or workflow requires Parquet (per .cursor/...

Server Parquet MCP Server markmhendrickson/mcp-server-parquet
Category Write
Risk class Medium
Parameters 00 required

What upsert_record does on Parquet MCP Server

AI agents use upsert_record to create or update resources in Parquet MCP Server — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Parquet MCP Server environment.

Why upsert_record needs a policy

The tool creates or modifies records in a Parquet file, which is the defining characteristic of Write category. It is reversible (updates can be undone with subsequent writes or rollback), not destructive. While the server supports delete_records (Destructive) and query operations (Read), this specific tool performs create/update operations.

From the tool's definition Tool description explicitly states 'Insert or update a record (upsert)' and 'If found, updates matching records. If not found, creates a new record.' These are classic Write operations that modify data reversibly.

Questions about upsert_record

What does the upsert_record tool do? +

Insert or update a record (upsert). Checks for existing records using enhanced filters (supports $contains, $fuzzy, etc.). If found, updates matching records. If not found, creates a new record. Returns whether it created or updated. Use only when a rule or workflow requires Parquet (per .cursor/rules/neotoma_parquet_migration.mdc, write to Neotoma first; then if the data type still uses Parquet, also use this tool). RECOMMENDED for contacts, tasks, and other records where duplicates should be avoided. Use this instead of add_record when you want to check for and update existing records automatically. It is categorised as a Write tool in the Parquet MCP Server MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on upsert_record? +

Register the Parquet MCP Server MCP server in PolicyLayer and add a rule for upsert_record: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Parquet MCP Server. Nothing to install.

What risk level is upsert_record? +

upsert_record is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit upsert_record? +

Yes. Add a rate_limit block to the upsert_record rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block upsert_record completely? +

Set action: deny in the PolicyLayer policy for upsert_record. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides upsert_record? +

upsert_record is provided by the Parquet MCP Server MCP server (markmhendrickson/mcp-server-parquet). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

// LOOK UP ANOTHER SERVER

Every MCP server has a record like this.

Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.