npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

altmetric-mcp

v0.8.1

Published

MCP server for Altmetric APIs - track research attention across news, policy, social media, and more

Readme

Altmetric MCP Server

Model Context Protocol (MCP) server that enables AI agents to access Altmetric APIs for tracking the attention and reach of research outputs across news outlets, policy documents, social media, and other online platforms.

Altmetric monitors where research is being discussed beyond traditional academic citations - from mainstream media coverage to policy citations, patent references, and social media engagement - providing a comprehensive view of real-world research impact.

Prerequisites

  • Node.js >= 20.6.0 - Download from nodejs.org (LTS recommended)
  • Altmetric API credentials (at least one):
    • Details Page API key - Free tier or commercial access
    • Explorer API key + secret - Institutional access

Don't have keys yet? Request API access

Quick Install (Claude Desktop on macOS)

Run the guided installer in Terminal - it checks Node.js, prompts for your API keys, and configures Claude Desktop automatically:

bash <(curl -fsSL https://raw.githubusercontent.com/altmetric/altmetric-mcp/main/install.sh)

Or if you've cloned the repo:

bash install.sh

Prefer to set things up manually? See Claude Desktop below.

Installation

Configure your MCP client to run the Altmetric MCP server using npx. Include only the API credentials you have access to.

{
  "type": "stdio",
  "command": "npx",
  "args": ["-y", "altmetric-mcp"],
  "env": {
    "ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
    "ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
    "ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
  }
}

Below are specific instructions for popular AI tools and editors.

Claude Desktop

  1. Open the configuration file at:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    On macOS you can open it from Terminal:

    mkdir -p ~/Library/Application\ Support/Claude && open -a TextEdit ~/Library/Application\ Support/Claude/claude_desktop_config.json
  2. Add the Altmetric MCP server. If the file is empty, paste this (replacing the placeholder keys with your own, and removing any you don't have):

    {
      "mcpServers": {
        "Altmetric": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "altmetric-mcp"],
          "env": {
            "ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
            "ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
            "ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
          }
        }
      }
    }

    If the file already has content, add "Altmetric": { ... } inside the existing "mcpServers" block, separated by a comma from the other entries.

  3. Save the file and restart Claude Desktop (Cmd+Q then reopen).

  4. Verify by asking Claude: "Use the Altmetric tools to look up the attention score for DOI 10.1038/nature12373"

Install directly from the command line:

claude mcp add --transport stdio altmetric-mcp \
  --env ALTMETRIC_DETAILS_API_KEY=your_details_api_key_here \
  --env ALTMETRIC_EXPLORER_API_KEY=your_explorer_api_key_here \
  --env ALTMETRIC_EXPLORER_API_SECRET=your_explorer_api_secret_here \
  -- npx -y altmetric-mcp

Add to your project .vscode/mcp.json:

{
  "servers": {
    "Altmetric": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "altmetric-mcp"],
      "env": {
        "ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
        "ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
        "ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
      }
    }
  }
}

Reload VS Code to apply the changes. More information.

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "Altmetric": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "altmetric-mcp"],
      "env": {
        "ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
        "ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
        "ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
      }
    }
  }
}

Any MCP-compatible client that supports stdio transport can use this server. Use the generic configuration at the top of this section, adapting it to your client's config format. The command is always npx with args ["-y", "altmetric-mcp"] plus the environment variables for your API keys.

Deploying safely

This server runs as a child process of the MCP host (Claude Desktop, Claude Code, etc.). A few things are worth knowing before you wire it into a sensitive workflow.

What the server does

  • Read-only proxy to two Altmetric HTTP APIs over outbound HTTPS. The one exception is an idempotent POST to the Explorer identifier_lists endpoint (create-or-find), used internally to scope an Explorer query to a supplied set of identifiers; it creates no user-visible state and is not destructive.
  • No inbound network surface; no destructive operations.
  • Treats upstream text as untrusted: scans for prompt-injection markers, redacts suspicious matches in the LLM-facing summary, and surfaces raw values only via structuredContent.

What you should do

  • Set API keys via your MCP host's env block, not via a committed .env file. Keys appear in URL query strings; treat them as bearer-equivalent credentials.
  • Run with reduced privileges if your host allows it. The server only needs outbound HTTPS to api.altmetric.com and www.altmetric.com. If your host or container runtime supports it, deny filesystem writes outside $TMPDIR and deny other network egress.
  • Consider an egress allowlist (forward proxy / DLP). If you're using the server inside an environment that processes sensitive data, route outbound traffic through a proxy that only allows the two Altmetric hosts. The server doesn't need to talk to anyone else.
  • Respect your data-classification zone. This server forwards tool arguments verbatim to a third party. If your prompt contains restricted or regulated data, it leaves your boundary.

What's enforced for you

  • Outbound URLs are asserted to use https:.
  • Upstream responses are capped at 20 MB and 60 s.
  • Inbound tool arguments are capped at 8 MB total / 64 KB per string.
  • Filter values are validated client-side (date format, length, pagination ranges) before any upstream call.
  • Upstream error bodies are logged to stderr by SHA-256 prefix only, not verbatim.

For vulnerability reports and supported versions see SECURITY.md.

Troubleshooting

| Problem | Solution | |---|---| | command not found: node | Node.js is not installed. Download it here (version 20.6.0 or later). | | Claude Desktop won't start after editing config | The JSON file has a syntax error. Check for missing commas, unmatched brackets, or trailing commas. Paste it into jsonlint.com to validate. | | "MCP server failed to start" | Run npx -y altmetric-mcp in Terminal to see the actual error. Usually a missing/invalid API key or Node.js version too old. | | Tools appear but return 403 errors | You're using a free-tier key with a commercial-tier tool (get_citation_details). Use get_citation_counts or search_citations instead. | | First query is slow | Normal. npx downloads the package on first run. Subsequent uses are faster. | | Explorer tools fail | Explorer tools need both ALTMETRIC_EXPLORER_API_KEY and ALTMETRIC_EXPLORER_API_SECRET. Make sure both are set. |

API Tiers

Details Page API

  • Free Tier: Access to get_citation_counts and search_citations
  • Commercial Tier: Access to all Details Page tools including get_citation_details

If you attempt to use get_citation_details with a free API key, you'll receive a 403 error.

Explorer API

  • Institutional Access Only: All Explorer API tools require institutional credentials
  • Provides access to research outputs and attention data across the entire Altmetric database
  • Organizations with data integrations can also access their own institutional research outputs in isolation
  • Includes advanced filtering by author, department, journal, and custom organizational metadata

Tools

This server provides eleven tools across two APIs:

| Tool | API | Tier | Description | |---|---|---|---| | get_citation_counts | Details Page | Free | Attention metrics by identifier (DOI, PubMed ID, etc.) | | get_citation_details | Details Page | Commercial | Full mention text, author details (incl. Dimensions Researcher IDs), metadata | | search_citations | Details Page | Free | Search attention data across all outputs by timeframe | | get_batch_attention_data | Details Page | Commercial | Attention metrics for many DOIs at once, ranked | | translate_identifiers | Details Page | Commercial | Translate identifiers (DOI, PMID, etc.) to Altmetric IDs | | explore_research_outputs | Explorer | Institutional | Search and filter research outputs | | explore_attention_summary | Explorer | Institutional | Aggregated attention metrics by source and date | | explore_mentions | Explorer | Institutional | Individual mention details with filtering | | explore_demographics | Explorer | Institutional | Audience geographic and demographic data | | explore_mention_sources | Explorer | Institutional | Source/outlet analysis for mentions | | explore_journals | Explorer | Institutional | Journal metrics, rankings, and search |

All Explorer tools additionally accept researcher_id and grant_id filters (Dimensions IDs), and an identifiers parameter that scopes a query to a raw list of scholarly identifiers - the server builds the corresponding identifier list for you. Explorer responses also include sentiment data (sentiment-analysis-totals on research outputs, sentiment-analysis on X/Bluesky mentions).

For detailed parameters and examples, see TOOLS.md.

API Documentation

  • Details Page API: https://docs.altmetric.com/details-page-api/
  • Explorer API: https://docs.altmetric.com/explorer-api/

License

MIT