✅ Publisher Resources

Security Checklist

A practical guide to improving your MCP server's trust score. Follow these best practices across all 7 scoring factors.

1. Declaration Accuracy 20 pts max

Your server manifest should honestly and completely declare every tool, resource, and prompt it offers. CraftedTrust compares what you declare versus what it discovers.

Declare every tool in your manifest

Each tool your server provides must be listed in the MCP manifest with accurate name, description, and parameter schemas. Undiscovered tools that aren't declared reduce your score.

High Impact

Declare all resources accurately

Resources (data sources your server exposes) must be listed with correct names, MIME types, and access levels. Don't hide read/write capabilities behind vague descriptions.

High Impact

Keep parameter schemas complete

Every tool parameter should have a type, description, and required/optional flag. Missing schemas make it harder for agents (and auditors) to understand what the tool does.

Medium Impact

Use accurate descriptions

Tool and resource descriptions should accurately reflect their behavior. Don't downplay destructive actions (like "manage_files" for a tool that can delete entire directories).

Medium Impact

2. Permission Minimality 15 pts max

Servers that request only the permissions they need score higher. Overly broad access surface increases risk for users.

Request only needed permissions

If your server only reads data, don't declare write tools. Each unnecessary permission scope reduces your minimality score.

High Impact

Avoid catch-all parameters

Tools that accept arbitrary input (e.g., raw SQL queries, unrestricted file paths) score lower than tools with constrained parameters.

Medium Impact

Separate read and write tools

Instead of one tool that does everything, provide separate read-only and write tools. This lets users grant minimal access.

Medium Impact

3. Network Behavior 20 pts max

Outbound connections are one of the biggest risk factors. Every domain your server contacts should be declared and necessary.

Minimize outbound connections

Only connect to domains that are essential to your server's functionality. Every additional domain is a potential data exfiltration vector.

High Impact

Declare all contacted domains

If your server connects to external APIs, list them in your documentation or manifest. Undeclared connections are the #1 red flag in our scans.

High Impact

Use HTTPS for all connections

Never make unencrypted HTTP requests. All outbound connections should use TLS 1.2 or higher.

High Impact

Avoid analytics and telemetry SDKs

Third-party analytics libraries that phone home (Google Analytics, Mixpanel, etc.) in server-side code are detected and heavily penalized.

Medium Impact

4. Code Transparency 10 pts max

Open-source servers inherently score higher because users can inspect the code. Closed-source servers can improve by providing audit reports.

Open-source your server

Publish your source code on GitHub, GitLab, or another public repository. Our scanner checks for a valid repo URL and verifies it's accessible.

High Impact

Provide a security audit (if closed-source)

If open-sourcing isn't possible, provide a third-party security audit report. Contact us to submit audit documentation.

Medium Impact

5. Publisher Reputation 10 pts max

Known publishers with established track records score higher. Build your reputation over time.

Use a verified publisher account

Register as a publisher on CraftedTrust and certify at least one server. Verified publishers get reputation bonuses on all their servers.

High Impact

Maintain npm/GitHub profiles

If your server is distributed via npm, maintain your package with regular updates, a README, and responsive issue tracking.

Medium Impact

Respond to security issues

If a vulnerability is reported in your server, address it promptly. Abandoned servers with known issues get low reputation scores.

Medium Impact

6. Transport Security 10 pts max

The connection between AI agents and your MCP server must be secure. This factor measures your transport-layer security.

Enforce TLS 1.2+

Your HTTPS endpoint must support TLS 1.2 or 1.3. Servers that accept older TLS versions or allow downgrade attacks lose points.

High Impact

Use valid SSL certificates

Use a certificate from a trusted CA (Let's Encrypt works great). Self-signed certificates are flagged.

High Impact

Implement CORS properly

Don't use Access-Control-Allow-Origin: * unless your server is genuinely a public API. Restrict origins when possible.

Medium Impact

7. Known Threat Avoidance 15 pts max

Our threat database tracks known-malicious patterns, domains, and tool signatures. Avoiding these is critical.

Keep dependencies updated

Run npm audit or equivalent regularly. Known-vulnerable packages are flagged in our scans.

High Impact

Don't use known-malicious domains

Our threat database tracks domains associated with data exfiltration, credential harvesting, and C2 communication. Any connection to these domains triggers critical alerts.

High Impact

Avoid credential-harvesting patterns

Tools that request seed phrases, private keys, passwords, or other credentials (especially as parameters) are heavily penalized. Never ask for credentials through MCP tool parameters.

High Impact

Use reputable package registries

Only distribute your server through established registries (npm, PyPI, Docker Hub). Side-loading from unknown sources reduces trust.

Medium Impact

Ready to check your score?

Submit your server for a free scan and see how you measure up.

Scan Your Server →