MCP connector

Let your coding agent help with the audit

Connect your own coding agent (Claude Code and other MCP-capable editors) to your MeshSailaccount. Because it lives in your repo, it can do the two things a server-side scan can't do as well: fill in the project context (including a throwaway test account) and apply the big fixes where it can run your tests.

Adding it

One endpoint, standard MCP over Streamable HTTP. Any MCP-capable editor can use it.

The endpoint:

https://meshsail.com/api/mcp

Claude Code / Claude

Add a custom connector with that URL. You'll be sent to a consent screen here to sign in and pick permissions.

claude mcp add --transport http meshsail https://meshsail.com/api/mcp

Free Claude accounts can hold one custom connector at a time; paid accounts can hold several. That's a limit on your Claude plan, not on us.

Anything else

Any client that speaks MCP over Streamable HTTP will work. Point it at the endpoint and either let it run OAuth, or send a personal access token as an Authorization: Bearer header.

curl -X POST https://meshsail.com/api/mcp \
  -H "authorization: Bearer $MESHSAIL_TOKEN" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Then just ask

"Add context to my MeshSail project, including a test account"
"What fixes did the audit flag for me to apply?"
"Apply the approved fixes and mark them done"

Two ways to authenticate

Both end up with the same scopes and the same audit trail.

Sign-in flow (recommended). The client sends you here, you approve a named connection, and it gets a short-lived token that refreshes itself. This is the better option because the connection has a name you recognise in your settings, and revoking it is one click.

Personal access token. For clients configured by pasting a token, and for headless machines where there is no browser to redirect to. Create one under Settings → Security, choose its scopes, and treat it like a password. It is shown once and stored only as a hash.

How we keep this safe

The same trust model as installing a GitHub App.

  • An agent never acts anonymously. Access is either approved by one specific person on this site, or carried by a token that person created. Either way it is tied to an account, so there is no anonymous access.

  • It never learns your password. You sign in to MeshSail, not to the agent. It receives a scoped token, and it cannot sign in as you or change your password.

  • You choose the permissions. Each one is listed in plain English on the consent screen, and you can uncheck any you're not comfortable with.

  • Everything it does is logged. Every tool call lands in an activity log on your security settings page. Disconnecting revokes every token it holds, immediately.

  • It never merges your code. It can mark an approved fix as applied after making it in your working tree, but you review and merge every pull request. Nothing lands on your default branch on its own.

The permissions

Exactly what the consent screen offers.

  • Read your audit projectsReadprojects:read

    See the audit projects on your account: their configuration, connected repository, run state, and findings.

  • Update your audit projectsWriteprojects:write

    Add context to your audit projects (for example a throwaway test account) and mark agent-assigned fixes as applied.

What your agent can do

The tools it gets once connected.

  • list_audit_projects

    See the audit projects on your account and the state of each one's latest run.

  • get_audit_project

    Read one project's configuration, its context, and a summary of its findings.

  • set_audit_context

    Write the project's description and a throwaway test account, so the security audit can reach a signed-in surface.

  • list_agent_fixes

    Get the findings flagged for an agent: the big refactors the auto-fixer shouldn't attempt.

  • complete_agent_fix

    Mark a fix as applied after you've made it in the working tree. It's noted in the project chat.

Your agent only applies fixes you have already approved in MeshSail, and it never sees your model API key. Marking a fix applied records that you did it; it does not merge anything.

Technical details: OAuth 2.1 with PKCE and dynamic client registration. Discovery lives at /.well-known/oauth-protected-resource.