Skip to main content
Glama
vortep-dev

arena-mcp

by vortep-dev

arena-mcp

An MCP server for Are.na — visual search for design references (curated channels, image blocks, authors) right from Claude Code.

Built on the Are.na v2 API (https://api.are.na/v2): v3 flags search as Premium Only, while v2 offers free search and public content without a token.

Tools

Tool

What it does

arena_search

Search: type = all / channels / blocks / users

arena_channel

Channel metadata by slug or id (+ description)

arena_channel_contents

Blocks inside a channel (the images themselves, paginated)

arena_block

Details of a single block + channels it was added to

arena_user_channels

Channels of a specific author

Every result is a compact object with image (image URL) and arenaUrl (link to are.na) — handy for collecting references.

Related MCP server: pinterest-vision-mcp

Public content is readable without a token. ARENA_TOKEN (a personal access token from https://www.are.na/developers/personal-access-tokens) unlocks private channels, block/user search (a WAF blocks it without a token), and higher rate limits.

Installation

pnpm install && pnpm build
claude mcp add arena --scope user \
  --env ARENA_TOKEN=<your-token> \
  -- node /absolute/path/arena-mcp/dist/index.js

Check: claude mcp get arenaStatus: ✔ Connected.

Development

  • pnpm build — compile to dist/

  • pnpm typecheck — type checking

  • API client — src/arena.ts, MCP wrapper — src/index.ts

Fresh-package gate (supply-chain) — via ~/.npmrc (minimum-release-age), install with pnpm only.

License

MIT © Alex Vortep

Available Tools

5 tools
arena_blockAre.na blockA

Details of a single block (image/link/text) by id, plus the channels it was added to.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesnumeric block id

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It does convey a read-only lookup and discloses that the result includes the block's details plus its channels. It does not mention error behavior, authentication needs, or what happens when a block id is invalid or has no channels.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It states the resource, the lookup mechanism, content types, and the additional channels payload efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description adequately explains what the response will contain: block details and associated channels. It could mention auth or error handling, but the low complexity and clear return scope keep it reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the only parameter, id, is already described as a numeric block id. The description adds little beyond restating that lookup is by id, so the schema does the necessary work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (a single block), distinguishes among content types (image/link/text), identifies the lookup key (by id), and notes the extra output (channels). It is easily differentiated from siblings like arena_channel_contents or arena_channel, which target channel-level data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'by id': an agent should call this when it has a specific block id and wants that block's details. However, there is no explicit guidance about when to prefer this over arena_channel_contents or arena_search, and no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arena_channelAre.na channelB

Channel metadata (reference collections) by slug or id, including the description.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYeschannel slug (e.g. "onboarding-vw1svqs3rg8") or numeric id

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries full behavioral responsibility. It implies a read operation ('metadata') but doesn't explicitly state read-only, safety, or side effects. It also doesn't disclose error behavior or output format. The description adds minimal behavioral context beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the key action ('Channel metadata'). No unnecessary words or filler. It's appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter metadata retrieval with no output schema, the description doesn't specify the return format (e.g., a single JSON object) or behavior for invalid ids. It's minimal but may be sufficient for an agent to call correctly. However, with no annotations or output schema, it could offer more clarity on the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single 'id' parameter with a clear description of slug or numeric id (100% coverage). The tool description adds no additional meaning beyond the schema. Since the schema already covers it, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool retrieves channel metadata by slug or id, including the description. It clearly names the resource ('channel metadata') and the lookup method, distinguishing it from sibling tools like arena_channel_contents (which likely fetches contents). However, the verb is implicit ('metadata' implies retrieval) rather than explicit like 'get', so it doesn't fully achieve a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There's no mention that this is for metadata only, not contents, or any conditions for preferring a slug vs numeric id. The description doesn't reference sibling tools or give exclusions, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arena_channel_contentsAre.na channel contentsA

Blocks inside a channel (the references themselves, with image URLs). Paginated. Use after arena_search to expand a collection you found.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYeschannel slug or id
perNo
pageNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that results are paginated and that blocks include image URLs, which is useful context. However, it does not describe the full response shape, ordering, or any access considerations, leaving meaningful gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. It front-loads the core purpose, mentions pagination, and gives the primary usage context, making efficient use of the space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple paginated list-by-id tool, the description gives enough to understand the basic operation and how it fits after arena_search. However, with no output schema and no annotation support, the agent is left without a clear picture of the return structure and full pagination behavior, so completeness is only moderate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, and the description adds no parameter-level meaning. The id parameter is documented in the schema as 'channel slug or id', but per and page have no explanation in either place, and the description's mention of pagination does not compensate for the missing semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as blocks inside a channel, with image URLs, and contrasts it with the search step (arena_search). It lacks an explicit verb like 'list' or 'retrieve', but the meaning is still unambiguous and distinguishable from the sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit guidance to use this tool after arena_search to expand a collection, which helps an agent know when it fits in a workflow. It does not state when not to use it or mention the other sibling alternatives, but the primary usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arena_user_channelsAre.na user channelsB

List a specific author's channels by slug or id — to dig through their collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesuser slug or id
perNo
pageNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, but it only describes the listing action and gives no details about pagination, ordering, visibility, or response shape. There is no contradiction, but behavior beyond the basic operation is undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler; the core operation and purpose are front-loaded before the dash. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema or annotations, and the description omits pagination behavior and return context, so an agent lacks information for a complete call. For a three-parameter tool with two undocumented pagination options, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (id has a description); the description repeats that id accepts a slug or id but does not add meaning beyond the schema. It gives no guidance on 'per' or 'page', which remain undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('a specific author's channels') and identifies the input method ('by slug or id'), making the tool's function clear. It does not explicitly name sibling tools, but the resource scope distinguishes it from arena_channel and arena_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'to dig through their collections' gives a clear intended use case for choosing this tool. It does not name exclusions or alternatives, but the context is enough to route an agent to this list endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedarena_block
    • First observedarena_channel
    • First observedarena_channel_contents
    • First observedarena_search
    • First observedarena_user_channels

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource: search results, channel metadata, channel contents, individual blocks, and a user's channels. There is no meaningful overlap, and the intended workflow (search -> channel -> contents -> block) is clear.

Naming Consistency5/5

All tool names follow the same arena_ + noun pattern with snake_case and the server prefix applied uniformly. Even though search is more action-like, the overall naming is predictable and easy to extrapolate.

Tool Count5/5

Five tools is a well-scoped set for a read-only Are.na browsing server. Each tool covers a distinct primary object or action, and the count is neither bloated nor too thin for the apparent purpose.

Completeness4/5

The set covers the core read-only workflows: search, inspect channels, page through contents, view block details, and list a user's channels. Minor gaps exist, such as direct user profile metadata or broader discovery feeds, but they do not break the main usage flow.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/vortep-dev/arena-mcp'

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