Give your AI access.
Set the limits.

JanuScope is a local MCP policy proxy. It checks tool calls, redacts matching sensitive values in results, and records what happened. MCP connects an AI assistant to tools such as a database or filesystem.

One connection. Three different outcomes.

Your AI assistant
Receives filtered output
{
  "order_id": "ORD-1042",
  "email": "[REDACTED]"
}
JanuScope Your policy, applied Value redacted
Your MCP server
Returns a matching value
{
  "order_id": "ORD-1042",
  "email": "[email protected]"
}

The return path has rules, too. The email matches a configured redaction rule. That value is replaced before the response reaches the assistant.

Illustrative flow · sample data · no live connectionLocal process. Existing MCP server.

Works with MCP clients including Claude Code, Codex, Cursor, and VS Code Copilot.

Client setup

The rules live outside
the conversation.

A Lens is a YAML file that defines the checks for a wrapped MCP connection. Start with a bundled preset, then review its rules for the access you want to allow.

Explore the policy format

Check the request.

Hide selected tools and refuse blocked calls. Apply SQL checks to the arguments your policy covers.

Filter the response.

Replace values that match your field and pattern rules before the assistant receives them.

Keep the record.

Inspect allowed calls, refusals, and errors in a local audit log. Treat the log as sensitive information.

Start with a tool
you already use.

20 bundled Lenses. Each with a policy and setup notes for its upstream server.

Browse all Lenses
Databases
PostgreSQL · MySQL · SQLite
MongoDB · Redis · Snowflake + more
Developer tools
GitHub · Filesystem
Services
Stripe · Notion · Linear
Atlassian · Supabase Cloud

Database context, too. Supply schema before the assistant queries to reduce discovery work. Results depend on the workload.

See the benchmarks

Keep the connection.
Add the policy.

Begin with a working PostgreSQL MCP connection and a role restricted to the intended access.

Requires Node.js 20+, uvx, and your existing database connection settings.

Read the practical guide PostgreSQL setup

Replace the launch fields.

{
  "command": "npx",
  "args": [
    "-y", "januscope",
    "--config", "postgres-crystaldba"
  ]
}

Use this excerpt inside your existing MCP entry. Keep its name, DATABASE_URI, and other settings. Restart the MCP connection after saving.

Check your setup

Common questions.

JanuScope adds configurable checks, response redaction and call auditing to the MCP tools you already use.

Read the security model
Does this replace read-only credentials?

No, it complements them. Database roles, filesystem permissions and scoped service credentials set the underlying access. JanuScope adds policy checks, response redaction and auditing to the MCP connection.

How does JanuScope handle my data?

Policy checks and result redaction run locally. A remote database or API receives the allowed requests your configured MCP server sends to it.

Your AI client receives results after JanuScope applies the Lens's redaction rules. If the client uses a cloud model, it can send those results and tool descriptions to that provider. When schema context is enabled, those descriptions also include table and column information to help the assistant plan its queries.

Why use JanuScope with a read-only server?

JanuScope adds response redaction, reusable policy and call auditing alongside your server's read-only controls.

Which connections does JanuScope manage?

JanuScope manages the MCP connections you configure through it, including database, filesystem and API tools. Direct calls to the same service outside those connections use the service's own permissions.

SQL filtering checks query commands and known blocked patterns. Database permissions also govern stored functions called by a query, such as a SELECT that invokes a function which updates records.

Redaction matches only the field names and value patterns configured in the Lens.

Useful access.
Clear limits.

Start with a Lens