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/mcpClaude 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/mcpFree 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 projectsRead
projects:readSee the audit projects on your account: their configuration, connected repository, run state, and findings.
- Update your audit projectsWrite
projects:writeAdd 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_projectsSee the audit projects on your account and the state of each one's latest run.
get_audit_projectRead one project's configuration, its context, and a summary of its findings.
set_audit_contextWrite the project's description and a throwaway test account, so the security audit can reach a signed-in surface.
list_agent_fixesGet the findings flagged for an agent: the big refactors the auto-fixer shouldn't attempt.
complete_agent_fixMark 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.