Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

2b2t Atlas

REMOTE · API.BLACKPORTAL.CLOUD · SCANNED SEP 22

Search 2b2t locations, groups, highways, renders, Archive warps, and WDL metadata.

+6 this week 83 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability87
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2507 tokens (~113/item across 22 items; 21 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management49
  • Stability check failed: schema churn in the 16 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 6 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the 2b2t Atlas MCP server?

2b2t Atlas is a hosted endpoint at https://api.blackportal.cloud/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.blackportal.cloud

# add to Claude Code
claude mcp add --transport http bobymicjohn-2b2t-atlas 'https://api.blackportal.cloud/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "bobymicjohn-2b2t-atlas": {
      "url": "https://api.blackportal.cloud/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "bobymicjohn-2b2t-atlas": {
      "type": "http",
      "url": "https://api.blackportal.cloud/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.bobymicjohn-2b2t-atlas]
url = "https://api.blackportal.cloud/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bobymicjohn-2b2t-atlas": {
      "type": "remote",
      "url": "https://api.blackportal.cloud/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add bobymicjohn-2b2t-atlas --url 'https://api.blackportal.cloud/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  bobymicjohn-2b2t-atlas:
    url: "https://api.blackportal.cloud/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "bobymicjohn-2b2t-atlas": {
      "Transport": "http",
      "Url": "https://api.blackportal.cloud/mcp"
    }
  }
}
# add to Vellum
assistant mcp add bobymicjohn-2b2t-atlas -t streamable-http -u 'https://api.blackportal.cloud/mcp'
// mcp.json
{
  "mcpServers": {
    "bobymicjohn-2b2t-atlas": {
      "type": "http",
      "url": "https://api.blackportal.cloud/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 46 to 49.

  • 21 Sept 26 +3
    • HSTS header: fail → pass security
    • Tool “find_locations_by_time_range” rewrote its description, which is the text the model reads security
    • Tool “get_group” rewrote its description, which is the text the model reads security
    • Tool “get_group_builds” rewrote its description, which is the text the model reads security
    • Tool “research_location” rewrote its description, which is the text the model reads security
    • “get_group_builds” added an optional parameter “offset” cosmetic
  • 20 Sept 26 0
    • Tool “find_locations_near” rewrote its description, which is the text the model reads security
    • Tool “get_location” rewrote its description, which is the text the model reads security
    • Tool “research_area” rewrote its description, which is the text the model reads security
    • Tool “research_location” rewrote its description, which is the text the model reads security
    • Tool “search_locations” rewrote its description, which is the text the model reads security
  • 19 Sept 26 +1
    • Tool “get_highway” rewrote its description, which is the text the model reads security
  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 26 to 29.

  • 15 Sept 26 0
    • Stability: 0.27 → fail security
    • A breaking change shipped without a version bump: still 1.0.0 security
    • Tool “find_locations_near” rewrote its description, which is the text the model reads security
    • Schema quality: pass → fail functional
    • “find_locations_near” changed the type of “dimension”: integer → integer|null functional
    • “find_locations_near” changed the type of “x”: integer → integer|null functional
    • “find_locations_near” changed the type of “z”: integer → integer|null functional
    • New tool “find_highways_near_location” functional
    • New tool “find_recently_added_or_modified” functional
    • New tool “research_area” functional
    • “find_locations_near” added an optional parameter “exclude_origin” cosmetic
    • “find_locations_near” added an optional parameter “group” cosmetic
    • “find_locations_near” added an optional parameter “has_render” cosmetic
    • “find_locations_near” added an optional parameter “has_world_download” cosmetic
    • “find_locations_near” added an optional parameter “location_id” cosmetic
    • “find_locations_near” added an optional parameter “location_name” cosmetic
    • “find_locations_near” reworded the description of “dimension” cosmetic
    • “find_locations_near” reworded the description of “limit” cosmetic
    • “find_locations_near” reworded the description of “radius” cosmetic
    • “find_locations_near” reworded the description of “x” cosmetic
    • “find_locations_near” reworded the description of “z” cosmetic
    • “find_locations_near” made “radius” optional cosmetic
    • “find_locations_near” made “x” optional cosmetic
    • “find_locations_near” made “z” optional cosmetic
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Probed https://api.blackportal.cloud/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=blackportal.cloud CN=WE1,O=Google Trust Services,C=US 31 Aug 2026 29 Nov 2026 ECDSA 256 ECDSA-SHA256 f35c49deee400a1813668a117fc1741d
SANs: blackportal.cloud, *.blackportal.cloud
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.blackportal.cloud. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
cloud. present 7041 13 Verified
blackportal.cloud. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=86400
x-content-type-options nosniff
referrer-policy strict-origin-when-cross-origin

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.blackportal.cloud/mcp Verified 200
http (plaintext) http://api.blackportal.cloud/mcp HTTPS enforced 301 https://api.blackportal.cloud/mcp
MCP tools · 21 exposed · ~2,425 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
find_highways_near_location ~220

Find nearest points on approved highway polylines. Historical geometry, not routing or live passability. Example: {"location_name":"Block Game Jerusalem","highway_dimension":1,"limit":3}.

NameTypeReqDescription
dimensioninteger|null0 Overworld, 1 Nether, 2 End. Inferred for a named location; defaults to Overworld for coordinates.
highway_dimensioninteger|nullDimension of highways to compare; omit to use origin dimension. OW/Nether use nominal 8:1 conversion; End cannot convert.
limitintegerMaximum results, 1–100.
location_idinteger|nullAtlas location ID as the origin; do not combine with x/z or name.
location_namestring|nullExact location name, case-insensitive. Ambiguous names require an ID.
xinteger|nullNative X coordinate; provide x/z OR location_id OR exact location_name.
zinteger|nullNative Z coordinate, paired with x.
NameTypeReqDescription
caveatstringyes
highwayDimensionstringyes
highwaysarrayyes
originobjectyes
queryXnumberyes
queryZnumberyes
skippedWithoutGeometryintegeryes

No examples provided.

find_locations_by_time_range ~119

Find locations with a dated Archive warp or public render captured within an inclusive time range. Year/month-only source dates match overlapping ranges; captureDatePrecision distinguishes them.

NameTypeReqDescription
dimensioninteger|nullOptional Minecraft dimension: 0 Overworld, 1 Nether, or 2 End.
fromstringyesInclusive start date in YYYY-MM-DD form.
limitintegerMaximum results, from 1 to 100. Defaults to 20.
tostringyesInclusive end date in YYYY-MM-DD form.

Structured output declared, but exposes no named fields.

No examples provided.

find_locations_near ~291

Find locations by exact planar distance; filters before limiting. For text discovery use search_locations; for nearby groups, preservation and highways together use research_area. Example: {"location_name":"Mu Megabase","radius":30000000,"limit":10,"exclude_origin":true}.

NameTypeReqDescription
dimensioninteger|null0 Overworld, 1 Nether, 2 End. Inferred for a named location; defaults to Overworld for coordinates.
exclude_originbooleanExclude the origin location ID when resolved by name/ID.
groupstring|nullOptional group name or alias.
has_renderboolean|nullRequire or exclude a public render; omit for either.
has_world_downloadboolean|nullRequire or exclude a downloadable WDL; omit for either.
limitintegerMaximum results, 1–100.
location_idinteger|nullAtlas location ID as the origin; do not combine with x/z or name.
location_namestring|nullExact location name, case-insensitive. Ambiguous names require an ID.
radiusintegerNative-dimension radius, 1–30,000,000 blocks.
xinteger|nullNative X coordinate; provide x/z OR location_id OR exact location_name.
zinteger|nullNative Z coordinate, paired with x.

Structured output declared, but exposes no named fields.

No examples provided.

find_preserved_builds ~156

Find preserved 2b2t builds that have both a public map render and a downloadable bounded world snapshot, optionally filtered by group, dimension, or capture dates.

NameTypeReqDescription
dimensioninteger|nullOptional Minecraft dimension: 0 Overworld, 1 Nether, or 2 End.
from_datestring|nullOptional inclusive earliest capture date in YYYY-MM-DD form.
groupstring|nullOptional builder or owning group name.
limitintegerMaximum results, from 1 to 100. Defaults to 20.
querystring|nullOptional location or history search text.
to_datestring|nullOptional inclusive latest capture date in YYYY-MM-DD form.

Structured output declared, but exposes no named fields.

No examples provided.

find_recently_added_or_modified ~146

Find location records added/modified in Atlas during inclusive UTC dates, newest matching timestamp first. Not historical capture dates or a complete change log; render-only changes may not update a location. Example: {"from":"2026-09-01","to":"2026-09-14","kind":"added"}.

NameTypeReqDescription
dimensioninteger|nullOptional dimension 0, 1 or 2.
fromstringyesInclusive UTC date YYYY-MM-DD.
kindstringadded, modified, or either.
limitintegerMaximum results, 1–100.
tostringyesInclusive UTC date YYYY-MM-DD.

Structured output declared, but exposes no named fields.

No examples provided.

get_dataset_stats ~28

Return current counts and machine-readable discovery links for the public 2b2t Atlas dataset.

Input schema present but exposes no named parameters.

NameTypeReqDescription
attachmentsintegeryes
datasetMetadataUrlstringyes
generatedAtUtcstringyes
groupsintegeryes
highwaysintegeryes
llmsUrlstringyes
locationsintegeryes
mcpEndpointstringyes
nocomApiUrlstring|null
nocomDatasetUrlstring|null
openApiUrlstringyes
rendersintegeryes
warpsintegeryes
worldDownloadsintegeryes

No examples provided.

get_group ~55

Get one group with history, links, total build count and the first 20 builds. Use get_group_builds with offset for additional builds; get_location for full details.

NameTypeReqDescription
idintegeryesPersistent numeric Atlas group ID.
NameTypeReqDescription
aliasesarrayyes
apiUrlstringyes
attachmentsarray
buildCountinteger
buildsarrayyes
canonicalUrlstringyes
descriptionstring|nullyes
discordUrlstring|nullyes
foundedstring|nullyes
hasMoreBuildsboolean
highwaysarrayyes
idintegeryes
interactiveUrlstringyes
logoUrlstring|nullyes
namestringyes
nextBuildOffsetinteger|null
statusstring|nullyes
typestringyes
websiteUrlstring|nullyes
wikiUrlstring|nullyes

No examples provided.

get_group_builds ~106

Page through a group's builds in stable name/ID order. Pass offset=0 initially, then advance by the returned count until a short page. get_group supplies the total count and first 20 builds.

NameTypeReqDescription
group_idintegeryesPersistent numeric Atlas group ID.
limitintegerMaximum results, from 1 to 100. Defaults to 50.
offsetintegerZero-based result offset. Defaults to 0; must be non-negative.

Structured output declared, but exposes no named fields.

No examples provided.

get_highway ~64

Get one public, approved highway or canal with native-dimension geometry, construction metadata, credited groups, evidence notes, attachments with source attribution, and canonical/map/API links. Cite canonicalUrl and preserve original source links.

NameTypeReqDescription
idintegeryesPersistent numeric Atlas highway ID.
NameTypeReqDescription
apiUrlstringyes
attachmentsarray
canonicalUrlstring|null
categorystringyes
descriptionstring|nullyes
dimensionstringyes
enclosedbooleanyes
groupsarrayyes
heightinteger|nullyes
idintegeryes
interactiveUrlstring|null
isRoofHighwaybooleanyes
lengthBlocksinteger|nullyes
litbooleanyes
mapUrlstringyes
namestringyes
pavedbooleanyes
pavingMaterialstringyes
pointsarrayyes
ringRadiusinteger|nullyes
slugstringyes
statusstringyes
videoUrlstring|nullyes
wallsbooleanyes
widthintegeryes
wikiUrlstring|nullyes
yLevelinteger|nullyes

No examples provided.

get_location ~62

Get one canonical location by ID, including history, groups, warps, renders, attachments, WDLs and provenance. For name discovery use search_locations; for name resolution with nearby context use research_location.

NameTypeReqDescription
idintegeryesPersistent numeric Atlas location ID.
NameTypeReqDescription
apiUrlstringyes
attachmentsarrayyes
canonicalUrlstringyes
dateAddedRecordedstring|null
dateAddedUtcstring|nullyes
descriptionstring|nullyes
dimensionstringyes
groupsarrayyes
idintegeryes
interactiveUrlstringyes
modifiedRecordedstring|null
modifiedUtcstring|nullyes
namestringyes
rendersarrayyes
tagsstring|nullyes
uuidstringyes
videoUrlstring|nullyes
warpsarrayyes
wikiUrlstring|nullyes
xintegeryes
yintegeryes
zintegeryes

No examples provided.

get_nocom_dataset ~55

Get Nocom World Pulse historical dataset provenance, per-dimension counts, coverage, tile links and caveats. Observations are not players, visits or ownership; aggregate coverage begins March 2020, not 2018.

Input schema present but exposes no named parameters.

NameTypeReqDescription
attributionstringyes
canonicalUrlstring|null
caveatsarrayyes
dimensionsarrayyes
exploitPatchedDatestringyes
groupedRowsintegeryes
groupedServerScopestringyes
groupedSourceSha256stringyes
highwayActivityApiUrlstringyes
highwaySourceScopestringyes
highwaySourceSha256stringyes
idstringyes
manifestUrlstringyes
namestringyes
observationsintegeryes
periodLayerCountintegeryes
periodsApiUrlstringyes
sourceUrlstringyes
tilesGeneratedAtUtcstringyes
urlstringyes

No examples provided.

get_nocom_highway_activity ~105

Get released historical Nocom highway observation counts by compass direction and fixed 30-day bucket. At most 136 rows per dimension or 17 per direction. Counts reflect scanner bias, not unique players/trips. End has no released highway series.

NameTypeReqDescription
dimensionstringoverworld or nether; defaults to nether.
directionstring|nullOptional compass name: north, northeast, east, southeast, south, southwest, west, northwest.

Structured output declared, but exposes no named fields.

No examples provided.

get_nocom_periods ~106

Get up to 39 Nocom observation aggregates and tile templates by dimension and overlapping fixed 30-day UTC buckets. Date filters select whole buckets; results are not exact-day counts or player counts.

NameTypeReqDescription
dimensionstring|nulloverworld, nether or end; omit for all dimensions.
fromstring|nullOptional inclusive date YYYY-MM-DD; selects overlapping buckets.
tostring|nullOptional inclusive date YYYY-MM-DD; selects overlapping buckets.

Structured output declared, but exposes no named fields.

No examples provided.

get_render_metadata ~51

List public map-render metadata for a location, including tile templates, exact bounds, coordinate scheme, dates, provenance, and source-WDL links.

NameTypeReqDescription
location_idintegeryesPersistent numeric Atlas location ID.

Structured output declared, but exposes no named fields.

No examples provided.

get_warps ~48

List every Archive warp linked to a location, including landing coordinates, capture date, checksum, and WDL links when available.

NameTypeReqDescription
location_idintegeryesPersistent numeric Atlas location ID.

Structured output declared, but exposes no named fields.

No examples provided.

get_world_downloads ~62

List publicly downloadable world snapshots for a location. Returns metadata and HTTPS ZIP URLs, never binary file bytes. WDLs are bounded historical captures, not complete copies of 2b2t.

NameTypeReqDescription
location_idintegeryesPersistent numeric Atlas location ID.

Structured output declared, but exposes no named fields.

No examples provided.

research_area ~252

Bundle nearby locations, credited groups, preservation and native-dimension highways. For only nearby locations use find_locations_near; for one named place use research_location. No spatial NoCom inference. Example: {"location_name":"Block Game Jerusalem","radius":25000,"preserved_only":true}.

NameTypeReqDescription
dimensioninteger|null0 Overworld, 1 Nether, 2 End. Inferred for a named location; defaults to Overworld for coordinates.
groupstring|nullOptional group name or alias for locations.
limitintegerMaximum locations, 1–100.
location_idinteger|nullAtlas location ID as the origin; do not combine with x/z or name.
location_namestring|nullExact location name, case-insensitive. Ambiguous names require an ID.
preserved_onlybooleanRequire both a public render and downloadable WDL.
radiusintegerNative-dimension radius, 1–30,000,000 blocks.
xinteger|nullNative X coordinate; provide x/z OR location_id OR exact location_name.
zinteger|nullNative Z coordinate, paired with x.
NameTypeReqDescription
caveatstringyes
locationsarrayyes
nearestHighwaysobjectyes
originobjectyes
radiusBlocksintegeryes

No examples provided.

research_location ~78

Research a place by name or search phrase: returns the best full record, alternate candidates, nearby places and relationships. Exact homonyms return candidate IDs instead of guessing. For only a known ID use get_location; for discovery lists use search_locations; for coordinate-based context use research_area.

NameTypeReqDescription
namestringyesLocation name or distinctive search phrase.
NameTypeReqDescription
evidenceNoticestringyes
locationobjectyes
nearbyLocationsarrayyes
searchCandidatesarrayyes

No examples provided.

search_groups ~89

Search documented 2b2t groups by name, history, or activity classification.

NameTypeReqDescription
limitintegerMaximum results, from 1 to 100. Defaults to 20.
querystring|nullGroup name, alias, or words from its description. Leave empty to browse.
typestring|nullOptional Atlas classification: Build, Highway, Mixed, or Other.

Structured output declared, but exposes no named fields.

No examples provided.

search_highways ~115

Search public, approved 2b2t highways and canals by name, history, dimension, or attributed group.

NameTypeReqDescription
dimensioninteger|nullOptional Minecraft dimension: 0 Overworld, 1 Nether, or 2 End.
groupstring|nullOptional builder or maintainer group name.
limitintegerMaximum results, from 1 to 100. Defaults to 20.
querystring|nullHighway/canal name or words from its description. Leave empty to browse.

Structured output declared, but exposes no named fields.

No examples provided.

search_locations ~217

Discover locations by text, tags, group or preservation filters; returns compact records with canonical links. For proximity use find_locations_near; for a known ID use get_location; for name-based research use research_location.

NameTypeReqDescription
dimensioninteger|nullMinecraft dimension: 0 Overworld, 1 Nether, or 2 End.
groupstring|nullBuilder or owning group name, including a partial name.
has_renderboolean|nullTrue to require a public map render; false to require none; omit for either.
has_world_downloadboolean|nullTrue to require a publicly downloadable preserved WDL; false to require none; omit for either.
limitintegerMaximum results, from 1 to 100. Defaults to 20.
querystring|nullWords from a location name, description, tag, or Archive warp. Leave empty to browse.
typestring|nullLocation classification or tag, such as base, spawn, monument, or world border.

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the 2b2t Atlas MCP server?

2b2t Atlas is an MCP server listed in the public MCP registry as io.github.bobymicjohn/2b2t-atlas. Search 2b2t locations, groups, highways, renders, Archive warps, and WDL metadata. This page covers its hosted endpoint (https://api.blackportal.cloud/mcp).

Is the 2b2t Atlas MCP server safe to use?

2b2t Atlas scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the 2b2t Atlas MCP server expose?

2b2t Atlas exposes 21 tools: get_location, get_warps, get_render_metadata, get_highway, get_world_downloads, and 16 more. Their descriptions and schemas cost roughly 2,425 tokens of context every time the server is loaded.

Does the 2b2t Atlas MCP server require authentication?

No. We connected to 2b2t Atlas without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the 2b2t Atlas MCP server still maintained?

2b2t Atlas is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.