Skip to main content
Glama
tendrl-inc-labs

Surface MCP Server

Surface MCP Server

Model Context Protocol server for Surface. Gives any MCP-compatible AI assistant (Claude, etc.) the ability to scan files, manage accounts, and access SDK/API documentation.

Install

npx -y github:tendrl-inc-labs/surface-mcp

npm clones this repository and builds it from source on install, so there is nothing to publish and nothing stale to serve.

Install by repository, not by name: an unrelated third party owns the name surface-mcp on npm, and installing that name runs their code.

In an MCP client config:

{
  "mcpServers": {
    "surface": {
      "command": "npx",
      "args": ["-y", "github:tendrl-inc-labs/surface-mcp"],
      "env": {
        "SURFACE_KEY": "${SURFACE_KEY}"
      }
    }
  }
}

Related MCP server: AgentAudit

Build from source

git clone https://github.com/tendrl-inc-labs/surface-mcp
cd surface-mcp
npm install
npm run build

Configuration

Set your API key:

export SURFACE_KEY="sfk_your_token_here"

Optional: Local Scanner

Point SURFACE_SCANNER_PATH at the Surface scanner binary to scan files locally. Files never leave your machine — the binary runs on your hardware and reports results to the server.

export SURFACE_SCANNER_PATH="/usr/local/bin/surface-scanner"

When this is not set, scan_file uploads to the API instead.

Optional: Custom API URL

Set a custom base URL (defaults to https://app.tendrl.com/surface):

export SURFACE_BASE_URL="http://localhost:9080/api"

Usage with Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "surface": {
      "command": "node",
      "args": ["/path/to/surface/mcp-server/dist/index.js"],
      "env": {
        "SURFACE_KEY": "sfk_your_token_here"
      }
    }
  }
}

With local scanner (files never leave your machine):

{
  "mcpServers": {
    "surface": {
      "command": "node",
      "args": ["/path/to/surface/mcp-server/dist/index.js"],
      "env": {
        "SURFACE_KEY": "sfk_your_token_here",
        "SURFACE_SCANNER_PATH": "/usr/local/bin/surface-scanner"
      }
    }
  }
}

Usage with Claude Code

Add to your Claude Code settings:

# API mode (uploads to server)
claude mcp add surface node /path/to/surface/mcp-server/dist/index.js -e SURFACE_KEY=sfk_your_token_here

# Local scanner mode (files stay on your machine)
claude mcp add surface node /path/to/surface/mcp-server/dist/index.js -e SURFACE_KEY=sfk_your_token_here -e SURFACE_SCANNER_PATH=/usr/local/bin/surface-scanner

Tools

Tool

Description

scan_file

Upload and scan a file for malware (accepts absolute file path)

scan_payload

Scan raw content for threats — detects prompt injection, SQL/XSS injection, credential leaks, malicious code, and suspicious tool calls. Accepts raw text (default) or base64 for binary. Max 10 MB.

get_scan

Poll a deferred scan result by scan ID

get_account

Get account details

get_usage

Get scan usage vs monthly limit

list_profiles

List scan profiles

create_profile

Create a scan profile

update_profile

Update a scan profile

delete_profile

Delete a scan profile

list_api_keys

List API keys

create_api_key

Create an API key

delete_api_key

Delete an API key

get_scan_history

Get paginated scan history

get_scan_detail

Get full details of a historical scan

get_plans

Get available billing plans

Resources

Resource

URI

Description

API Reference

surface://docs/api-reference

Complete REST API documentation

SDK Quick Reference

surface://docs/sdk-overview

Side-by-side SDK comparison

Webhook Guide

surface://docs/webhooks

Webhook setup and signature verification

Python SDK Docs

surface://docs/sdk/python

Python SDK README

JavaScript SDK Docs

surface://docs/sdk/javascript

JS/TS SDK README

Go SDK Docs

surface://docs/sdk/go

Go SDK README

SDK Source Files

surface://src/sdk/{lang}/*

SDK source code (client, models, errors, webhook)

Agentic Security

The scan_payload tool is designed for AI agent workflows. When an agent scans a payload, Surface automatically detects:

  • Prompt injection — jailbreak attempts, role hijacking, instruction overrides

  • SQL injection — union attacks, tautology auth bypass, blind injection

  • XSS injection — script tags, event handlers, javascript: URIs

  • Credential exposure — API keys, tokens, private keys, connection strings

  • Malicious code — reverse shells, download cradles, eval/exec chains

  • Suspicious tool calls — dangerous execute/write/http operations

  • Known malicious URLs — checked against threat intelligence feeds

Results include promptInjection, codeExtraction, sensitiveData, and toolCallAnalysis fields with detailed findings.

Prompts

Prompt

Description

analyze_scan_result

Analyze a scan result JSON and provide security assessment

generate_sdk_code

Generate SDK code for a given language and use case

F
license - not found
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables users to scan MCP servers for security threats, check installed servers, and analyze config files for risks, all from AI assistants like Claude, Cursor, or Windsurf.
    5
    14
    3
  • F
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to perform defensive security tasks such as vulnerability detection, CVE lookup, phishing/link safety checks, and security report generation via MCP tools.
    23

View all related MCP servers

Related MCP Connectors

  • Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tendrl-inc-labs/surface-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server