# The Secure Layer MCP server

The Secure Layer MCP server is a Model Context Protocol (MCP) endpoint that scores AWS architectures against a security questionnaire. Connect your AI agent to it. The agent can import your CloudFormation, answer the questionnaire with evidence from your code, and read back the resulting score. The endpoint is https://mcp.securelayer.app/mcp. It speaks streamable HTTP and authenticates with a bearer token.

[Generate a token in Settings](/settings/mcp) · [Start free in the studio](/studio)

## What your agent does over the MCP server

Point your agent at the repository or AWS account behind your architecture. It does the tedious part of security work for you. The loop is short. It imports a CloudFormation template, walks the questionnaire question by question, and reads back the security dashboard when it is done.

Every answer carries the evidence the agent found. Ask it to cite the file and line before it answers. Leave a question blank when it cannot find proof. Hours of yes, no, and maturity questions collapse into minutes, with a record of why each answer was given.

### The six MCP tools

The server exposes six tools. Any MCP client that speaks streamable HTTP can call them:

- list_projects: list the projects on your account
- create_project: start a new project to score
- import_template: import a CloudFormation template and score it at import time
- list_security_questions: read the questionnaire questions
- answer_security_question: answer a question with cited evidence
- get_security_dashboard: read back the score and the six pillar breakdown

## Why you can trust the verdicts

An agent that writes its own report card is easy to fool. Secure Layer does not let the agent grade itself. The scoring engine runs server side. The same engine that scores the visual studio scores the answers your agent sends. The agent reports the score. It does not compute it, and it cannot hand you a green it made up.

Two guards back this up. Invented checklist answers are rejected against the valid set of options. An agent cannot pass a check that does not exist. Template values that cannot be resolved, like a parameter reference, are excluded from value-aware scoring instead of guessed. Every agent answer requires cited evidence and is stamped as agent-authored. You can see later what the machine claimed and where it looked.

## How to connect

### Step 1: Generate a token

Open Settings, then generate a personal access token. The token value is shown once, when you generate it. The default scopes cover the whole questionnaire loop: read and write on projects and security answers. Tokens never grant deletion, billing, or account actions. Those stay in your browser session.

### Step 2: Add the server to your client

The endpoint is https://mcp.securelayer.app/mcp. It speaks streamable HTTP under MCP spec 2025-11-25, with bearer authentication. Point your client at that URL and pass your token as the bearer header.

#### Claude Code

```
claude mcp add --transport http securelayer https://mcp.securelayer.app/mcp \
  --header "Authorization: Bearer sl_your_token_here"
```

#### Claude Desktop and Claude.ai

Go to Settings, then Connectors, then Add custom connector. Set the URL to https://mcp.securelayer.app/mcp and add a header Authorization: Bearer sl_....

#### Any other MCP client

Any client that speaks streamable HTTP connects the same way. Point it at https://mcp.securelayer.app/mcp and send the header Authorization: Bearer sl_.... A prompt that works well:

```
Import infra/template.yaml into Secure Layer as "my-stack", then answer
the security questionnaire. For every question, look at the actual code
or configuration before answering, cite the file and line as evidence,
and leave questions unanswered when you cannot find evidence. Show me
the security dashboard when you are done.
```

## What the server does and does not do

Secure Layer never holds your AWS credentials. There is no IAM role to create and nothing to install. The server works on the CloudFormation you send it. If you want to score a live account, AWS generates a template from the resources already running there. Your agent runs that scan with your own credentials, and only the template body reaches Secure Layer. Plan around two AWS quotas. A generated template holds at most 500 resources, so split large accounts into several templates. Each region allows 10 resource scans per day. The scan itself is free.

On the free plan, your agent sees the sample questionnaire. The full questionnaire is on the paid plans. The tool output tells the agent which questions sit behind a paid plan, with no upsell copy in the way. The scoring engine is the same on every plan.

Tokens are revocable. Revoke one from Settings and anything using it loses access at once. You choose how long a token lives when you generate it, from thirty days up to no expiration.

## Questions about the MCP server

**Q: Does the server need access to my AWS account?**
**A:** No. It reads the CloudFormation you send it, nothing else. For a live account, your agent generates the template with your own credentials and only the template reaches Secure Layer. There is no IAM role and no credential to share.

**Q: Which MCP clients work?**
**A:** Any client that speaks streamable HTTP. Claude Code, Claude Desktop, Claude.ai, and generic MCP clients all connect the same way: the endpoint plus a bearer token.

**Q: Can the agent report a passing score that is not real?**
**A:** No. Scoring runs server side, so the agent reports the score without computing it. Invented checklist answers are rejected against the valid set, and every answer needs cited evidence.

**Q: What can a token do, and what can it not do?**
**A:** A token can do only what you scope it to. The default covers projects and the questionnaire. Tokens never delete content, touch billing, or change account settings, and you can revoke one at any time.

**Q: Does the free plan work over MCP?**
**A:** Yes, on the sample questionnaire. The full questionnaire is on the paid plans. Same server, same scoring engine either way.
