MCP.Market

Gateco MCP server

by gateco.ai·ai.gateco/gateco·v1.13.0

Permission-aware retrieval for AI systems: policy-enforced access to organizational knowledge.

B82/100grade B
What users say
No reviews yet
Be the first
Safety scan
B82/100

not scanned yet

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Gateco yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Gateco tools

No tool declarations could be read from the package source. They show once the server is installed.

Not scanned yet. New listings are scanned within a day or two of arriving.

How Gateco compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
82/100
higher than 63% of 48,255 servers

Release history: 3 versions in the registry since 2026-09-15, latest 2026-10-04, typically one every 12 days.

Install Gateco in Claude Code, Cursor or VS Code

claude mcp add gateco -- uvx gateco
Add to Cursor

What the publisher says

From the Gateco repository's README, as published. We do not edit it. Read it on GitHub

Gateco Python SDK

Official Python client for the Gateco API — permission-aware retrieval for AI systems.

<!-- mcp-name: ai.gateco/gateco -->

The problem it solves

Without Gateco, when an employee asks your AI assistant "What is the CEO's salary?", the RAG pipeline returns the salary from a leaked HR document.

With Gateco:

from gateco_sdk import GatecoClient

client = GatecoClient("https://api.gateco.ai")
client.login("you@yourco.com", "...")

result = client.retrievals.execute(
    query="What is the CEO's salary?",
    principal_id="user_james_wu",
    connector_id="connector_hr_docs",
    search_mode="hybrid",
)

# result.allowed_chunks → [] (denied — James Wu lacks HR classification access)
# result.denied_count   → 1
# result.decision       → "DENIED"
# Your AI model never sees the salary data

Gateco sits between your AI agent and your vector store. Every retrieval is evaluated against your access policies before any content reaches the model.

Installation

pip install gateco

For MCP server support (Claude Desktop, Cursor, etc.):

pip install gateco[mcp]

Authentication

Gateco API keys use the format gck (e.g. gcklive_abc123...).

Generate keys via the dashboard or via client.api_keys.create(name="my-service").

from gateco_sdk import AsyncGatecoClient, GatecoClient

# Async client with API key
client = AsyncGatecoClient("https://api.gateco.ai", api_key="gck_live_abc123...")

# Sync client with API key
client = GatecoClient("https://api.gateco.ai", api_key="gck_live_abc123...")

# Or use email/password login (issues a short-lived JWT)
client = GatecoClient("https://api.gateco.ai")
client.login("user@example.com", "password")

The API key is sent as the X-API-Key header on every request. Set it via the GATECOAPIKEY environment variable when using the CLI or MCP server.

Quick Start

Async (recommended for production services)

import asyncio
from gateco_sdk import AsyncGatecoClient

async def main():
    async with AsyncGatecoClient(
        "https://api.gateco.ai",
        api_key="gck_live_abc123...",
    ) as client:

        # Policy-gated retrieval — the core Gateco primitive
        result = await client.retrievals.execute(
            query="What is the CEO's salary?",
            principal_id="user_james_wu",
            connector_id="connector_hr_docs",
            search_mode="hybrid",
            alpha=0.7,   # 70% vector weight, 30% keyword
            top_k=5,
        )

        # Allowed chunks are safe to pass to your LLM
        for chunk in result.allowed_chunks:
            print(f"[ALLOWED] {chunk.resource_id} score={chunk.score}")

        # Denied chunks are redacted — only metadata is surfaced
        print(f"Denied: {result.denied_count} chunk(s)")

asyncio.run(main())

Synchronous (scripts and notebooks)

from gateco_sdk import GatecoClient

with GatecoClient("https://api.gateco.ai", api_key="gck_live_abc123...") as client:
    result = client.retrievals.execute(
        query="What is the CEO's salary?",
        principal_id="user_james_wu",
        connector_id="connector_hr_docs",
        search_mode="hybrid",
    )
    print(result.decision)  # "DENIED"

Available Namespaces

Every namespace, and every method on it, is available on both AsyncGatecoClient (async) and GatecoClient (sync); tests/testsyncparity.py fails the build if the two drift.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Gateco: common questions

Is Gateco MCP server safe?
Mostly: it is graded B (82/100). Read the Gateco safety report
How do I install Gateco?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Gateco need an API key?
Yes. The registry entry asks for GATECO_API_KEY.
Is Gateco maintained?
The last commit was 47 days ago (2026-09-18). The latest release is v1.13.0.