Joyst

MCP SECURITY

MCP security starts with which servers you allow.

MCP servers give AI tools real access to real systems. This guide covers the MCP security risks worth knowing, from tool poisoning to leaked tokens, and the practical controls that help: an approved list of servers, documented tools, clear owners and keys kept in a vault.

dash.joyst.app
MCP servers and tools in the Joyst catalogue

Why MCP changes your attack surface

MCP server security matters because the Model Context Protocol lets an AI tool call tools on external servers: read a CRM, file a ticket, query a database, send a message. Each tool acts with the permissions of whoever connected it. Two things follow. First, a connected server can do real work, so a mistake or an attack has real effects. Second, the AI reads each tool’s name and description to decide when to call it. Those descriptions come from the server, so they are untrusted input, in the same way as a web page or an email. MCP security is therefore partly a protocol question, covered by the MCP specification’s security best practices and the OWASP MCP Security Cheat Sheet, and partly an organisational one: which servers do we allow, who owns them and where do their credentials live?

THE RISKS

The MCP security risks worth knowing

  • Tool poisoning

    A tool description carries hidden instructions that the AI follows, such as reading files or sending data elsewhere. OWASP documents this as MCP tool poisoning.

  • Changed tool definitions

    A server you reviewed changes a tool’s description or behaviour later. OWASP calls this a rug pull. Review the tool list again after a change, before the team relies on it.

  • Confused deputy

    An MCP server that acts as a proxy to another service can be tricked into using its own authority for an attacker. The MCP specification requires per-client consent to prevent it.

  • Token passthrough

    A server accepts tokens that were not issued for it and forwards them on. The specification forbids this. Servers must only accept tokens issued for them.

  • Server-side request forgery

    During OAuth discovery, a malicious server points the client at internal addresses. Clients should block private and internal addresses when fetching metadata.

  • Local server compromise

    A local server runs as a command on your machine with your permissions. A malicious install command or package can run anything. Check the command before you run it and use a sandbox where your client offers one.

  • Supply chain

    Servers are software with dependencies. Use servers from sources you trust, and pin versions for local servers.

APPROVED SERVERS

Decide which servers are allowed

  • Keep one approved list

    The MCP security best practices from OWASP and the Cloud Security Alliance both recommend a list of approved servers. Record the MCP servers your organisation uses in a private catalogue, instead of leaving them in personal configs and Slack screenshots.

  • Clear owners

    Give manage rights to the people responsible for each server. Everyone else gets view or use rights.

  • Admin-controlled connections

    Decide who may add servers to the catalogue, so the list reflects a decision and not whoever connected something first.

DOCUMENTED TOOLS

Read every tool before your team uses it

  • Import the tool list

    Joyst runs tools/list and imports every tool with its schema, so reviewers can read what the server exposes.

  • Add notes

    Write down when to use each tool, what to watch for and what it should never be used for.

  • Re-sync and review

    Sync on demand or on a schedule. Review the imported tools again when a server changes, before the wider team relies on them.

CREDENTIALS

Keep credentials out of chat and config

  • OAuth where supported

    Prefer servers that sign each person in with OAuth. Tokens act for one person, with approved scopes. The MCP OAuth guide explains how sign-in works.

  • Static keys in the vault

    Store static keys in Joyst’s encrypted vault, private by default, and refer to them by name. Never paste them into chat or commit them in mcp.json.

  • Names in packages

    Agent packages list MCP endpoints and the names of the secrets they need, never the tokens themselves.

RECORDS

Know what changed, and who changed it

  • Sync history

    Connection health and sync history show when a sync failed, instead of hiding it.

  • Audit trail

    Connecting, publishing or changing an item writes an audit entry, so you can see who connected, published or changed a server.

  • Permissions on servers

    Give groups None, View, Use & Annotate or Manage rights on each server and folder.

  • Log tool calls

    Joyst’s audit trail records changes to the catalogue, not individual tool calls. Log calls in your AI client or gateway and send them to your security tooling.

What a catalogue does not do

Joyst is not in the call path. Your AI tools connect to MCP servers directly, and Joyst does not proxy or inspect those calls. That means the catalogue records which servers are approved but does not stop someone connecting a server outside it, and it does not filter individual tools on a server. Enforcing an approved list at call time, and choosing which tools from a server an AI may use, is the job of an MCP gateway. Enterprise gateway controls are on the Joyst roadmap. Joyst does not scan MCP servers for vulnerabilities. Pair the catalogue with your client’s own controls, such as Cursor’s MCP allowlist for enterprise teams or Claude’s organisation connector settings.

RELATED

Keep exploring.

  • MCP catalogue

    Connect, document and approve MCP servers.

    Open
  • Document MCP tools

    Add notes so people and agents understand each tool.

    Open
  • Private vs public MCP registry

    How an approved list differs from a public marketplace.

    Open
  • How to connect an MCP server

    Connect and document a server step by step.

    Open
  • MCP OAuth

    How MCP OAuth sign-in works, step by step.

    Open
  • Secrets vault

    Keep MCP keys out of chat and config files.

    Open
  • Controlled substitution

    Use vault secrets by name. Designed to keep keys out of the model’s context.

    Open
  • Catalogue vs MCP gateway

    Two different jobs, and which one to start with.

    Open
  • Permissions and audit trail

    Who can see, use and change each server.

    Open
  • AI agent security

    Controls to put in place before an agent runs.

    Open
  • MCP security best practices (spec)

    The official MCP guidance on confused deputy, token passthrough and SSRF.

    Open
  • OWASP MCP Security Cheat Sheet

    OWASP’s checklist for building and using MCP servers.

    Open

MCP security FAQ

It can be, with the right controls. Use servers from sources you trust, prefer OAuth, keep keys in a vault, read each tool before the team relies on it and keep an approved list with owners.

An attack where a tool’s description contains hidden instructions that the AI follows, for example to read files or send data to an attacker. Treat tool descriptions as untrusted input.

Publish an approved list so there is a clear, easy route, and use your AI clients’ admin controls to enforce it. Joyst records the approved list. It does not block connections.

Keep static keys in a vault and refer to them by name. OAuth tokens are held by each person’s AI tool. Never put either in chat or in config files committed to git.

Not in Joyst today. Choosing which tools an AI may call is gateway work, which is on our roadmap. Some AI clients offer their own tool allowlists.

No. Joyst catalogues and documents servers. Your AI tools connect to them directly.

Build your approved MCP server list.

Create an organisation account and bring skills, prompts, MCP servers, secrets and agents into one private catalogue.

  • Private to your organisation
  • Draft, then publish
  • Limited open beta
Start free beta