原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Altr MCP Server

作者:altrsoftware版本 0.9.0i★ –i在你的电脑上运行
注册名称io.github.altrsoftware/altr-mcp-server

安装

概览

作者提供的说明(英文原文)

MCP server for ALTR data security: databases, tags, policies, classification, access, audits

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:ORG_ID, MAPI_KEY, MAPI_SECRET

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: ORG_ID, MAPI_KEY, MAPI_SECRET

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "altr": {
      "command": "uvx",
      "args": [
        "altr-mcp"
      ],
      "env": {
        "ORG_ID": "your-value",
        "MAPI_KEY": "your-value",
        "MAPI_SECRET": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add altr --env ORG_ID=your-value --env MAPI_KEY=your-value --env MAPI_SECRET=your-value -- uvx altr-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "altr": {
      "command": "uvx",
      "args": [
        "altr-mcp"
      ],
      "env": {
        "ORG_ID": "your-value",
        "MAPI_KEY": "your-value",
        "MAPI_SECRET": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "altr": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "altr-mcp"
      ],
      "env": {
        "ORG_ID": "your-value",
        "MAPI_KEY": "your-value",
        "MAPI_SECRET": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • ORG_ID 必填 env
    ALTR organization ID
  • MAPI_KEY 机密 必填 env
    ALTR management API key
  • MAPI_SECRET 机密 必填 env
    ALTR management API secret

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 altrsoftware 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32545 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32545 个服务器的 88% 更新
  • 基础检查结果等于或优于此分类中其他 32545 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Altr MCP Server 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:ORG_ID, MAPI_KEY, MAPI_SECRET

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.9.0)于4天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Python MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

Python MCP

作者:Files-com

Local-only Python MCP server for the Files.com API.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

ALTR MCP Server

ALTR provides tag-based data masking, access governance, and classification for Snowflake, Databricks, and OLTP databases. This MCP server enables AI assistants (Claude, Cursor, and other MCP clients) to manage data security on the ALTR platform, covering database connections, tag masking, policies, classification, access management, audits, telemetry, and sidecar configuration.

New to ALTR? See the ALTR documentation for an overview of the platform, concepts, and supported data sources.

All tools return structured {success, data, error} responses and can run over stdio, SSE, or streamable-http transports.

Table of Contents

  • Quick Start
  • Getting Credentials
  • Configuration
  • Restricting Tools
  • Running over HTTP
  • Setup
  • Claude Desktop
  • Claude Code (CLI)
  • Cursor
  • VS Code (GitHub Copilot)
  • Windsurf
  • Running from Local Source
  • CLI
  • Tools
  • Data Source Support
  • Troubleshooting
  • Development
  • License

Quick Start

  1. Install from PyPI:
   pip install altr-mcp

Or run directly with uvx (no install required):

   uvx altr-mcp

uvx is part of the uv Python package manager. Install it with pip install uv or see the uv installation guide.

  1. Set the three required environment variables (see Getting Credentials for where to find each in the ALTR console):
   export ORG_ID=your-org-id

export MAPI_KEY=your-api-key export MAPI_SECRET=your-api-secret

  1. Wire it into your AI client — see Setup for Claude Desktop, Claude Code, Cursor, VS Code, and Windsurf. The same three env vars go into the client's env block.
  1. Verify by asking your AI assistant to run a read-only tool:
  • "List my ALTR databases" → calls get_databases
  • "Show me the tags connected to ALTR" → calls get_tags
  • "List the ALTR roles in my org" → calls get_roles

If these return data, your setup is working.

Getting Credentials

You need three values from the ALTR platform to configure this server. See Manage API keys for the full reference.

CredentialWhere to find it
ORG_IDIn the ALTR console: Settings > Preferences > Organization — copy the value from "ALTR Organization ID"
MAPI_KEYIn the ALTR console: Settings > Preferences > API > Add New — give it a description, then copy the key
MAPI_SECRETShown once when you create the API key above — copy and store it securely

Configuration

Set the following environment variables before starting the server:

VariableRequiredDescription
ORG_IDYesALTR organization ID
MAPI_KEYYesALTR management API key
MAPI_SECRETYesALTR management API secret
MCP_TRANSPORTNoTransport protocol: stdio (default), sse, or streamable-http
MCP_HOSTNoBind address for HTTP transports (default: 127.0.0.1). See Running over HTTP
MCP_PORTNoPort for HTTP transports (default: 8000)
MCP_AUTH_TOKENNoBearer token every HTTP request must carry: at least 32 characters, letters, digits and -._~+/, with = only at the end. Required when MCP_HOST is not a loopback address
MCP_ALLOW_UNAUTHENTICATEDNoSet true to listen beyond loopback without MCP_AUTH_TOKEN, when a gateway in front authenticates every request (default: false)
RESTRICTED_TOOLSNoComma-separated tool names to hide from clients
LOG_FORMATNoLog output format: console (default) or json
LOG_LEVELNoLog level (default: INFO)
MAX_RETRIESNoAttempts per API call before giving up (default: 3, minimum 1)
DISABLE_RETRYNoSet true to disable retries entirely (default: false)
REQUEST_TIMEOUTNoPer-request timeout in seconds (default: 30)
MAX_RETRY_AFTERNoCeiling in seconds on a server-sent Retry-After (default: 60)

MAX_RETRIES counts total attempts, not retries on top of the first, so 1 disables retrying without disabling the retry path. Backoff is exponential with jitter; a Retry-After response header overrides it, clamped to MAX_RETRY_AFTER so a server cannot park a call indefinitely.

What gets logged

Every tool call is logged to stderr at INFO with its arguments, which is what makes a session traceable. An argument is redacted when its value is a credential or user-supplied free text — values, text, comment, comments, attestation, justification, statement_text_contains, filters, filter_tree, content, content_base64, connection_string, connection_properties, the bare credential names (password, secret, credentials, passphrase, private_key, api_key, auth_token, access_key), and anything ending _password, _secret, _credential, _credentials, _private_key or _passphrase. Identifiers, enums and pagination cursors are logged in full.

An argument can also reach a log by travelling in a request URL, which redaction keyed on argument names cannot see. httpx's per-request line is therefore held at WARNING, so it does not appear at the default INFO.

Dictionary keys survive, so a line reads values={'ssn': ' ', 'email': ' '}: you keep which fields were sent and lose the data. Tokens are not redacted — a token exists to be handled freely, and ALTR's own Shield audit log is keyed by token.

Redaction covers the invocation line, tracebacks, and the argument-coercion error returned to the caller.

LOG_FORMAT applies to dependency output as well as this server's own — under json, every line on the stream is a JSON object, and dependency lines carry the correlation_id of the tool call they occurred inside. See Logging.

Upgrading from 0.6.0 or earlier? Arguments were not redacted before

0.7.0. Treat any credential passed as a tool argument as exposed in your

logs and rotate it — in practice database_password and

connection_string. Those logs may also hold plaintext passed to the

tokenize tools, so review who can read them and how long they are kept. Log

output also changed shape; see the 0.7.0 entry in the

CHANGELOG.

Endpoint overrides

Every ALTR service endpoint can be pointed elsewhere, which is useful against a non-production ALTR environment. All are optional — leave them unset in normal use.

The eight per-service endpoints are derived from your ORG_ID as https:// . .live.altr.com, five of them with a path appended (a version, or /v1/dam-alerting). An override replaces the whole value, so it must include that path where the default has one — see the table.

VariableDefault
ALTR_API_BASE_URLhttps://api.live.altr.com
ALTR_ALTRNET_BASE_URLhttps://altrnet.live.altr.com
ALTR_CLASSIFICATION_BASE_URLhttps:// .classification.live.altr.com
ALTR_SC_CONTROL_BASE_URLhttps:// .sc-control.live.altr.com
ALTR_SERVICE_USER_BASE_URLhttps:// .service-user.live.altr.com
ALTR_AUDIT_REPORT_BASE_URLhttps:// .audit-report.live.altr.com/v1
ALTR_VAULT_BASE_URLhttps:// .vault.live.altr.com/api/v2
ALTR_CRITICAL_BASE_URLhttps:// .critical.live.altr.com/v2
ALTR_KMA_BASE_URLhttps:// .kma.live.altr.com/v1
ALTR_DAM_ALERTING_BASE_URLhttps:// .dam-alerting.live.altr.com/v1/dam-alerting
Restricting Tools

Use RESTRICTED_TOOLS to hide specific tools from MCP clients. Restricted tools are removed from the tool list and blocked if called directly.

Names must match the registered tool name exactly. An entry that matches nothing restricts nothing, and is logged as a warning the first time a client lists tools. Note that 11 tools were renamed from delete_* to disconnect_* in 0.4.0.

For example, to give a team read-only access without any destructive operations:

RESTRICTED_TOOLS=disconnect_database,delete_policy,delete_rule,disconnect_tag,disconnect_tag_by_details,delete_classifier,delete_collection,disconnect_sc_repo,disconnect_sc_sidecar

Or in the Claude Desktop config:

{

"mcpServers": { "altr": { "command": "uvx", "args": ["altr-mcp"], "env": { "ORG_ID": "your-org-id", "MAPI_KEY": "your-api-key", "MAPI_SECRET": "your-api-secret", "RESTRICTED_TOOLS": "disconnect_database,delete_policy,delete_rule,disconnect_tag" } } } }

This is an operator-level safety net — it prevents accidental or unwanted tool usage but is not a substitute for proper API key permissions.

Running over HTTP

With the default stdio transport, your AI client starts the server as its own subprocess, so nothing else can reach it. With MCP_TRANSPORT=sse or streamable-http, the server listens on a port, and every tool call runs with your organization's API key. So:

  • The default address is loopback. MCP_HOST defaults to 127.0.0.1, so only clients on the same machine can connect, and no token is needed. Without a token, the server also rejects any request whose Host or Origin header is not a loopback name (localhost, 127.0.0.1 or [::1]), so a web page open in a local browser cannot use it. Pages served from this machine are trusted, whatever their port, so local tools such as the MCP Inspector keep working.
  • Any other address needs a token. To accept connections from other machines, set MCP_HOST (for example 0.0.0.0) and MCP_AUTH_TOKEN. The server refuses to start with a non-loopback MCP_HOST and no token. Clients send the token as Authorization: Bearer , and a request without it gets 401. The token may contain only letters, digits and -._~+/, with = only at the end. A reverse proxy on the same machine should also use a token, since it sends its own Host header.
  • Use TLS. The server speaks plain HTTP, and a bearer token sent in the clear can be read on the network. Put it behind a reverse proxy or gateway that terminates TLS.
  • Or let a gateway authenticate. If a gateway in front of the server checks every request itself, for example with your identity provider, set MCP_ALLOW_UNAUTHENTICATED=true instead of a token. This also turns off the Host and Origin check on a loopback address, so a gateway on the same machine that passes those headers through keeps working. The server logs a warning at startup, since it then accepts any request that reaches it.

Generate a token with:

python3 -c "import secrets; print(secrets.token_urlsafe(32))"

For exam

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx