Back to Directory/Developer Tools

io.github.imharikumaran/altimateguide

Submit a tool to the Altimateguide directory for editorial review.

Developer ToolsTypeScriptv1.0.1

Altimateguide Agent MCP Server

smithery badge

A small MCP server that lets an AI agent submit a tool to the Altimateguide directory for editorial review — and, optionally, earn it a dofollow link.

Scope: this server only talks to the public Altimateguide HTTP API. It holds no database credentials and grants no access beyond submitting/owning listings. Nothing is published without an editor reviewing it, and no submission can self-grant a dofollow link — a paid listing only becomes a dofollow candidate once its payment is verified server-side.

Tools

ToolWhat it does
start_loginEmail a one-time login code (POST /api/auth/request-code).
complete_loginExchange the code for an account API token and store it (POST /api/agent/token).
whoamiReport whether a token is configured locally.
list_categoriesThe valid category slugs (GET /api/agent/categories).
check_duplicatePreflight a name/URL against published tools + the pending queue (GET /api/agent/check).
submit_toolSubmit a listing for editorial review (POST /api/agent/submit).
get_submissionPoll a submission's status (GET /api/agent/submissions/{id}).
upgrade_listingChoose sayabout / badge / paid for a listing you own (POST /api/agent/listing).

It also exposes the category list and the editorial policy as resources, a submit_listing prompt, and category-slug completions. Server instructions summarise the workflow for the model.

submit_tool parameters

  • name (string, required) — tool name
  • url (string, required) — canonical http(s) URL
  • description (string, optional) — neutral copy, min 20 chars
  • categories (array, optional) — slugs from list_categories
  • categorySuggestions (array, optional) — free-text hints when none fit (recorded for the reviewer)
  • features (array, optional) — { label, description? } items
  • pros / cons (array, optional), pricing / freePlan / freeTrial (optional)
  • proof (string, optional) — none (default) | sayabout | badge
  • verificationUrl (string) — required for sayabout/badge
  • externalId (string, optional) — your id for idempotent replays (derived from the URL when omitted)
  • source (string, optional) — origin id (default agent:mcp)
  • resubmit (boolean, optional) — set true to send a fresh copy after a previous submission for this URL was rejected (mints a new idempotency key instead of replaying the rejected row)

Categories are optional. An unknown or missing category never fails the submission — it is recorded for the reviewer, exactly like the site's feed pipeline. Paid (dofollow) listings are not submitted here; use upgrade_listing with path: "paid", which returns a Dodo checkout URL whose payment is verified server-side.

Full request/response contract: https://altimateguide.com/openapi.json.

Configuration

  • ALTIMATEGUIDE_AGENT_TOKEN — optional. An account API token (create at https://altimateguide.com/account, or mint one with the complete_login tool). When set, it takes precedence over the stored token.
  • ALTIMATEGUIDE_API_URL — optional; overrides the API base (default https://altimateguide.com).
  • ALTIMATEGUIDE_CONFIG_DIR — optional; where complete_login stores the token (default ~/.config/altimateguide).

Install & use

npx -y altimateguide-agent-mcp        # run directly (stdio)

Or from a local checkout:

npm install
npm run build      # tsc -> dist/
npm run dev        # stdio server via tsx (for local testing)

Claude Desktop / other MCP clients

{
  "mcpServers": {
    "altimateguide": {
      "command": "npx",
      "args": ["-y", "altimateguide-agent-mcp"]
    }
  }
}

The token can be supplied via env.ALTIMATEGUIDE_AGENT_TOKEN, or obtained at runtime by calling start_login + complete_login (the agent needs access to the mailbox it registers).

(From a local checkout, use "command": "node" and "args": ["/absolute/path/to/dist/index.js"].)

Development

npm run check   # tsc --noEmit
npm run lint    # eslint
npm test        # vitest
npm run build   # tsc -> dist/
npm run bundle  # build a .mcpb (Smithery / Claude Desktop)

Registries

Listed via server.json (the MCP Registry manifest). It is a standard stdio server, so it also works with the community directories (Glama, PulseMCP, mcp.so, mcp.directory).

Project structure

.
├── src/
│   ├── index.ts        # stdio server: tool registry + resources/prompts/completions
│   ├── api.ts          # shared fetch client (timeout, retry, error mapping)
│   ├── auth.ts         # start_login / complete_login / whoami
│   ├── categories.ts   # list_categories + matching
│   ├── submit.ts       # submit_tool
│   ├── listing.ts      # check_duplicate / get_submission / upgrade_listing
│   ├── credentials.ts  # token storage (~/.config/altimateguide)
│   ├── schema.ts       # zod -> JSON Schema helper
│   └── version.ts      # package version
├── test/               # vitest
├── server.json         # MCP Registry manifest
├── mcpb/manifest.json  # .mcpb bundle manifest
├── package.json
└── tsconfig.json

License

MIT — see LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y altimateguide-agent-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-imharikumaran-altimateguide": {
      "command": "npx",
      "args": [
        "-y",
        "altimateguide-agent-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

altimateguide-agent-mcpnpm

Compatible MCP Clients

io.github.imharikumaran/altimateguide works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More