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

@axprism/mcp

v0.2.0

Published

Model Context Protocol (MCP) server for the AxPrism API — Shariah compliance, normalized financials, company profiles, screening and full-text filing search as AI tools for Cursor, Claude Desktop and ChatGPT.

Readme

AxPrism MCP Server

A Model Context Protocol server that exposes the AxPrism API as tools for AI assistants — Cursor, Claude Desktop, ChatGPT, and any MCP-compatible client.

AxPrism is an institutional XBRL platform: normalized SEC EDGAR + ESEF + EDINET + Tadawul filings, with first-class AAOIFI Shariah compliance screening across five rulesets. This server lets an LLM call the API directly to answer questions like "Is Visa halal under AAOIFI?", "Show Apple's latest income statement", or "Screen the S&P universe for halal companies with revenue over $10B."

Tools

| Tool | AxPrism endpoint | What it does | |------|------------------|--------------| | get_compliance | GET /api/v1/compliance/{ticker} | Shariah verdict (halal / haram / questionable) for a ticker, with ratios + reasoning. | | screen_compliance | POST /api/v1/compliance/screen | Batch compliance verdicts for up to 50 tickers in one call. | | get_financials | GET /api/v1/financials/{ticker} | Normalized income statement / balance sheet / cash flow (US, EU, JP, MY). | | get_profile | GET /api/v1/profile/{ticker} | Company metadata: name, CIK, ISIN, exchange, SIC, activity screen. | | screen_securities | GET /api/v1/screener | Filter a universe by revenue, market cap, ratios, and Shariah verdict. | | search_filings | GET /api/v1/text/search | Full-text search across filing text blocks / MD&A / footnotes. | | search_symbols | GET /api/v1/symbols | Resolve a company name or partial ticker to covered symbols. | | get_pricing | GET /api/v1/pricing | Public pricing tiers and limits (no API key required). | | list_rulesets | GET /api/v1/rulesets | Supported Shariah standards (aaoifi, msci, dji, ftse, saudi) and thresholds. |

Requirements

  • Node.js >= 18

Install & build

cd mcp
npm install
npm run build

This compiles TypeScript to dist/. The executable entry point is dist/index.js (also exposed as the axprism-mcp bin).

Configuration

The server reads two environment variables:

| Variable | Default | Description | |----------|---------|-------------| | AXPRISM_API_KEY | axmd_demo_try_axprism_2024 (public demo key) | Sent as the X-API-Key header. | | AXPRISM_BASE_URL | https://axprism.com | API origin. |

The demo key works out of the box for trying it out. Get your own key at axprism.com.

Run it

AXPRISM_API_KEY=axmd_demo_try_axprism_2024 node dist/index.js

The server speaks MCP over stdio, so you normally don't run it by hand — your MCP client launches it. Configs below.

Quick smoke test

A standalone test performs the full MCP handshake and calls the live API with the demo key:

npm run build && node smoke-test.mjs

Expected: 9 tools listed, AAPL → halal, V → haram.


Client setup (copy-paste)

Replace /ABSOLUTE/PATH/TO/mcp with the absolute path to this directory, and swap in your own key for production.

Note: @axprism/mcp is not on npm yet, so the npx @axprism/mcp form below does not work today — use the local build (node .../dist/index.js) instructions. Once the package is published (see Publishing), you can drop the path and switch to npx @axprism/mcp.

Cursor

Global: ~/.cursor/mcp.json — or per-project: .cursor/mcp.json

Using this local build:

{
  "mcpServers": {
    "axprism": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mcp/dist/index.js"],
      "env": {
        "AXPRISM_API_KEY": "axmd_demo_try_axprism_2024"
      }
    }
  }
}

Using the published npm package (coming soon — not on npm yet):

{
  "mcpServers": {
    "axprism": {
      "command": "npx",
      "args": ["-y", "@axprism/mcp"],
      "env": {
        "AXPRISM_API_KEY": "axmd_demo_try_axprism_2024"
      }
    }
  }
}

Then in Cursor: Settings → MCP → confirm axprism shows the 9 tools as enabled.

Claude Desktop

Edit claude_desktop_config.json:

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

Using the local build (works today):

{
  "mcpServers": {
    "axprism": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mcp/dist/index.js"],
      "env": {
        "AXPRISM_API_KEY": "axmd_demo_try_axprism_2024"
      }
    }
  }
}

Once published to npm (coming soon), you can instead use "command": "npx", "args": ["-y", "@axprism/mcp"]. Restart Claude Desktop, then look for the tools/plug icon.

Generic stdio client

Any MCP client that supports stdio transport can launch:

command: node
args:    ["/ABSOLUTE/PATH/TO/mcp/dist/index.js"]
env:     { "AXPRISM_API_KEY": "axmd_demo_try_axprism_2024" }

ChatGPT

ChatGPT supports MCP connectors in Developer mode / via the desktop app's connector settings. Point a new stdio connector at the same command / args / env shown above. (Exact UI varies by ChatGPT release.)


Publishing @axprism/mcp to npm

This package is not published automatically — you publish it under your own npm account/org. Steps:

  1. Claim the scope/name. @axprism is a scoped name, so you need an npm org (or user) named axprism. Create the org at https://www.npmjs.com/org/create (free for public packages), or change "name" in package.json to one you own.

  2. Log in / get a token.

    • Interactive: npm login (follow the browser/OTP prompt).
    • Or create an Automation access token at https://www.npmjs.com/settings/~/tokens (type: Automation or Publish), then:
      export NPM_TOKEN=npm_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
      echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
  3. Build & verify the tarball contents:

    npm run build
    npm pack --dry-run   # should list dist/, README.md, LICENSE only
  4. Publish (scoped packages must be explicitly public):

    npm publish --access public
  5. Verify & bump. Confirm at https://www.npmjs.com/package/@axprism/mcp. For subsequent releases, bump the version (npm version patch|minor|major) before publishing again.

After publishing, users can skip the local build entirely and use the npx @axprism/mcp config shown above.

License

MIT — see LICENSE.