Contact Affordance

org.ottobot由 ottobot.org 发布v0.1.1更新于 Oct 24, 2026

Check how to contact a business website, and whether that contact path actually works.

发布方自己的服务:QR Rápido

已验证Streamable HTTP可网页运行网页搜索与抓取商业与电商

概览

AI 生成的概览

一个远程 MCP 服务器,用于检查企业网站的联络路径,并报告人工联系是否真的可达。

可以做什么
根据给定的网址检查企业网站的联络路径,返回可达或无法确定的结论,以及找到的表单及其解析后的处理地址、公开的电话或邮箱。它从不提交任何内容,只查看网站上公开提供的信息。
适用场景
适合在联系企业之前核实其联络方式,或确认页面上列出的联系表单、地址是否真的可用,而不是仅凭页面内容判断。
运行要求
远程 streamable HTTP 端点;未声明任何软件包、账号、API 密钥、环境变量或请求头。助手需要能访问该端点,端点本身也需要能抓取目标网站。
安装前请注意
它会抓取第三方网站,目标网址会发送到该远程服务。它只读取页面、不提交表单,但结果可能无法确定,因此结论应作为参考而非确证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Contact Affordance,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/org.ottobot%2Fcontact-affordance/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "contact-affordance": {
      "type": "http",
      "url": "https://contact-affordance-mcp.ottobot2025.workers.dev/mcp"
    }
  }
}

README

MCP Registry

The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.

📤 Publish my MCP server | ⚡️ Live API docs | 👀 Ecosystem vision | 📖 Full documentation

Development Status

2025-10-24 update: The Registry API has entered an API freeze (v0.1) 🎉. For the next month or more, the API will remain stable with no breaking changes, allowing integrators to confidently implement support. This freeze applies to v0.1 while development continues on v0. We'll use this period to validate the API in real-world integrations and gather feedback to shape v1 for general availability. Thank you to everyone for your contributions and patience—your involvement has been key to getting us here!

2025-09-08 update: The registry has launched in preview 🎉 (announcement blog post). While the system is now more stable, this is still a preview release and breaking changes or data resets may occur. A general availability (GA) release will follow later. We'd love your feedback in GitHub discussions or in the #registry-dev Discord (joining details here).

Registry Working Group:

Contributing

We use multiple channels for collaboration - see modelcontextprotocol.io/community/communication.

Often (but not always) ideas flow through this pipeline:

  • Discord - Real-time community discussions
  • Discussions - Propose and discuss product/technical requirements
  • Issues - Track well-scoped technical work
  • Pull Requests - Contribute work towards issues

Quick start:

Pre-requisites
  • Docker
  • Go - version per the go directive in go.mod; the Go toolchain fetches it for you
  • ko - Container image builder for Go (installation instructions)
  • golangci-lint - version per the golangci-lint-action pin in ci.yml, so local lint matches CI
Running the server
bash
# Start full development environmentmake dev-compose

This starts the registry at localhost:8080 with PostgreSQL. The database uses ephemeral storage and is reset each time you restart the containers, ensuring a clean state for development and testing.

Note: The registry uses ko to build container images. The make dev-compose command automatically builds the registry image with ko and loads it into your local Docker daemon before starting the services.

By default, the registry seeds from the production API with a filtered subset of servers (to keep startup fast). This ensures your local environment mirrors production behavior and all seed data passes validation. For offline development you can seed from a file without validation with MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose.

The setup can be configured with environment variables in docker-compose.yml - see .env.example for a reference.

Alternative: Running a pre-built Docker image

Pre-built Docker images are automatically published to GitHub Container Registry. Note that the image does not bundle PostgreSQL, so you need to run your own and point the registry at it via MCP_REGISTRY_DATABASE_URL (see docker-compose.yml for a working example):

bash
# Run latest stable releasedocker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest
# Run latest from main branch (continuous deployment)docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
# Run specific release versiondocker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
# Run development build from main branchdocker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d

Available tags:

  • Releases: latest, v1.0.0, v1.1.0, etc.
  • Continuous: main (latest main branch build)
  • Development: main-<date>-<sha> (specific commit builds)
Publishing a server

Publishing an MCP server does not happen through a pull request to this repository. Adding a server.json, a server directory, or an entry in data/seed.json will not publish or list your server, even if the PR is merged. Use the mcp-publisher CLI from your server's own project instead.

To publish a server, we've built a simple CLI. You can use it with:

bash
# Build the latest CLImake publisher
# Use it!./bin/mcp-publisher --help

See the publisher guide for more details.

Other commands
bash
# Run lint, schema validation, and all tests# Note: this also runs `make dev-down`, stopping any running dev-compose environmentmake check

There are also a few more helpful commands for development. Run make help to learn more, or look in Makefile.

Architecture

Project Structure

├── cmd/                     # Application entry points│   ├── publisher/           # Server publishing tool│   └── registry/            # Registry API server├── data/                    # Seed data├── deploy/                  # Deployment configuration (Pulumi)├── docs/                    # Documentation├── internal/                # Private application code│   ├── api/                 # HTTP handlers and routing│   ├── auth/                # Authentication (GitHub OAuth, JWT, namespace blocking)│   ├── config/              # Configuration management│   ├── database/            # Data persistence (PostgreSQL)│   ├── importer/            # Seed data import│   ├── service/             # Business logic│   ├── telemetry/           # Metrics and monitoring│   └── validators/          # Input validation├── pkg/                     # Public packages│   ├── api/                 # API types and structures│   │   └── v0/              # Version 0 API types│   └── model/               # Data models for server.json├── scripts/                 # Development and testing scripts├── tests/                   # Integration tests└── tools/                   # CLI tools and utilities    └── validate-*.sh        # Schema validation tools

Authentication

Publishing supports multiple authentication methods:

  • GitHub OAuth - For publishing by logging into GitHub
  • GitHub OIDC - For publishing from GitHub Actions
  • DNS verification - For proving ownership of a domain and its subdomains
  • HTTP verification - For proving ownership of a domain

The registry validates namespace ownership when publishing. E.g. to publish...:

  • io.github.domdomegg/my-cool-mcp you must login to GitHub as domdomegg, or be in a GitHub Action on domdomegg's repos
  • me.adamjones/my-cool-mcp you must prove ownership of adamjones.me via DNS or HTTP challenge

Community Projects

Check out community projects to explore notable registry-related work created by the community.

More documentation

See the documentation for more details if your question has not been answered here!

来源:README.md,提交 11b7b0e

工具

1

check_contact_path

Given a business website URL, report how a human is meant to make contact and whether that path is actually reachable. Returns a verdict of 'reachable' or 'inconclusive', the forms found with their resolved handler URLs, and any published phone or email. Never submits anything. Answers 'inconclusive' rather than guessing when a site is client-rendered, bot-protected or parked -- about 64% of real sites cannot be judged from outside, and a confident wrong answer is worse than an honest one.

输入参数url必填

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Qrrapido 集成