SanctionsKit plugin
MCP serverDev toolsSanctions API docs and request validation, with account-linked synthetic sandbox testing.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use SanctionsKit plugin to search docs
Install SanctionsKit plugin
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user sanctionskit-plugin 'https://www.sanctionskit.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://www.sanctionskit.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=sanctionskit-plugin&config=eyJ1cmwiOiJodHRwczovL3d3dy5zYW5jdGlvbnNraXQuY29tL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://www.sanctionskit.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add sanctionskit-plugin --url 'https://www.sanctionskit.com/mcp'Run it once, then sign in with codex mcp login sanctionskit-plugin if the server asks for an account.
From the project's README
As published by sanctionskit/sanctions-kit-mcp-plugin in README.md.
Build SanctionsKit integrations from your editor. Find API documentation, check request formats, and test invented subjects against the sandbox.
The plugin bundles the hosted SanctionsKit MCP server connection and an integration skill for Codex, Claude Code, and Cursor. There is no local server to run and no install script.
Documentation · MCP guide · Authentication · MIT license
Get started
Clone this repository and open its directory. Install with the instructions for your client below, then try:
Find the SanctionsKit screening request schema and validate an invented example without submitting it.
Documentation, schemas, and request validation work without a SanctionsKit account. Sandbox account tools require a connection to a SanctionsKit workspace. Each client's OAuth registration must be configured on the hosted service; see authentication setup.
Connect to the hosted MCP server
You can also connect directly from an MCP client using Streamable HTTP at:
https://www.sanctionskit.com/mcp
Public documentation, schema, and validation tools need no credentials. For sandbox account tools, sign in through the client's OAuth connection flow after its client ID and callback have been registered with SanctionsKit. The requested scopes are sources:read, screenings:write, results:read, and usage:read. See authentication setup for client configuration and verification status.
Codex
From the repository root:
codex plugin marketplace add .
Open the plugin directory in Codex, choose the SanctionsKit marketplace, and install SanctionsKit. Start a new task after installation. For a GitHub installation, pass this repository's HTTPS GitHub URL to the same command instead of ..
Claude Code
Start Claude Code in the repository root:
/plugin marketplace add .
/plugin install sanctionskit@sanctionskit
You can also give /plugin marketplace add this repository's HTTPS GitHub URL. Restart Claude Code after installation. Use /mcp to inspect the connection and sign in when account tools are needed.
Cursor
For a local installation, enable Allow Local Plugin Imports in Cursor, copy the plugin folder into its local plugin directory, then reload Cursor. Enterprise policies may require an administrator to allow local imports.
mkdir -p ~/.cursor/plugins/local
cp -R plugins/sanctionskit ~/.cursor/plugins/local/
This command is for a first install; replace the existing sanctionskit folder when updating. Use a real copy, since Cursor skips external symlink targets. Team administrators can use Import from Repo in their team's plugin marketplace with this repository's GitHub URL. A public Cursor directory listing requires a separate submission.
What you can do
| Tool | Purpose | Connection |
|---|---|---|
search_docs | Find integration guides and document slugs | Public |
get_doc | Read a document from the published catalog | Public |
get_api_schema | Inspect REST operations, schemas, and examples | Public |
validate_screening_request | Check request structure without submitting it | Public |
list_sources | Inspect source metadata and availability | Sandbox workspace |
run_sandbox_screening | Submit invented subjects to sandbox@1 | Sandbox workspace |
get_screening_result | Retrieve retained sandbox evidence | Sandbox workspace |
get_usage | Check sandbox allowance and reservations | Sandbox workspace |
get_profile | Identify the connected profile | Sandbox workspace |
The bundled sanctionskit-integration skill covers request design, validation, error handling, retries, and interpreting sandbox results. It uses the current tool schemas and documentation instead of assuming an SDK or endpoint exists.
Try these next:
- “Show me how to add SanctionsKit screening to my server-side TypeScript app.”
- “Validate a
sandbox@1request for an invented organization.” - “Run the synthetic Alex Morgan example, then show the result and remaining sandbox allowance.”
- “Explain how I should retry a request after a timeout.”
See the synthetic request examples and MCP argument examples.
Sandbox behavior
MCP account tools operate in the sandbox. Production keys are rejected. A sandbox screening consumes sandbox allowance, retains evidence according to its retention policy, and may create a review case. Use a new idempotency key for a new intended screening; keep both the key and payload unchanged when retrying a lost response.
Validation checks structure only. Source catalog entries do not change the sandbox's synthetic coverage. A synthetic result says nothing about a real person or organization, and a no-match result is not legal clearance. Production integrations use the server-side REST API and your organization's review process.
Troubleshooting
| Problem | What to check |
|---|---|
| Plugin does not appear | Add the repository root as the marketplace, install the plugin, and start a new session. |
invalid_client or redirect error | Check the exact client ID and registered callback in authentication setup. |
| Sign-in or permission error | Reconnect the sandbox workspace with the required scopes. |
| Port already in use | Close the other login flow using that port, then retry. |
| Production key rejected | Use a sandbox connection for MCP; keep production integration in the REST API. |
| Result has expired | Report the expiry; create a new screening only if a new run is intended. |
| Coverage or allowance error | Inspect the returned error and current sandbox usage. Do not switch coverage silently. |
Development
Node.js 22 or later is needed only for the repository checks. There are no npm dependencies.
npm ci
npm run check
npm run smoke
check validates package structure and runs offline tests. smoke checks the public hosted MCP endpoint and its authentication challenge without signing in or creating screenings. A passing smoke check does not establish that a client's interactive sign-in works.
.agents/plugins/ Codex marketplace
.claude-plugin/ Claude Code marketplace
.cursor-plugin/ Cursor marketplace
plugins/sanctionskit/ Installable plugin, client configs, skill, and assets
docs/ Authentication and release guidance
scripts/ Package validation and public connection check
tests/ Offline verification
See CONTRIBUTING.md for changes and the release guide for publishing.
Maintained by Adam for SanctionsKit, LLC. For help, contact support@sanctionskit.com. The MIT license covers this repository; hosted service use is governed by the SanctionsKit terms and privacy policy.
Tools it offers (9)
What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
search_docsget_docget_api_schemavalidate_screening_requestlist_sourcesrun_sandbox_screeningget_screening_resultget_usageget_profile
Signals
- GitHub stars
- 1
- Last commit
- Oct 2026
Advanced
- Delivery
- sanctionskit MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-sanctionskit-sanctionskit- Source
- github.com/sanctionskit/sanctions-kit-mcp-plugin
- Hosted endpoint
https://www.sanctionskit.com/mcp
github.com/sanctionskit/sanctions-kit-mcp-plugin