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

aiproject-mcp

v1.0.0

Published

MCP server for the AIProject project and task management API.

Readme

AIProject MCP Server

This MCP server wraps the AIProject project/task API described in api.md.

Run

npm install
npm run build
npm start

Use aiproject-mcp as a stdio MCP server after build.

MCP Config

Local build:

{
  "mcpServers": {
    "aiproject": {
      "command": "C:\\ServBay\\bin\\node.cmd",
      "args": [
        "C:\\Users\\Onur\\Desktop\\mcp\\dist\\src\\index.js"
      ],
      "env": {
        "AIPROJECT_BASE_URL": "http://127.0.0.1:8000/",
        "AIPROJECT_API_KEY": "<API_KEY>"
      }
    }
  }
}

After npm publish:

{
  "mcpServers": {
    "aiproject": {
      "command": "npx",
      "args": [
        "-y",
        "aiproject-mcp"
      ],
      "env": {
        "AIPROJECT_BASE_URL": "http://127.0.0.1:8000/",
        "AIPROJECT_API_KEY": "<API_KEY>"
      }
    }
  }
}

Credentials

The server reads credentials from environment variables:

  • AIPROJECT_BASE_URL: API root or app root. Both http://127.0.0.1:8000 and http://127.0.0.1:8000/api/v1 are accepted. If the app root is supplied, /api/v1 is appended automatically.
  • AIPROJECT_API_KEY: API key sent as X-API-Key.

Every MCP tool also accepts optional credential overrides in its input:

  • baseUrl: Override AIPROJECT_BASE_URL for one call.
  • apiKey: Override AIPROJECT_API_KEY for one call.

Tools

  • aiproject_get_me: GET /me; verify the API key and return the current user.
  • aiproject_list_projects: GET /projects; paginated project summaries.
  • aiproject_create_project: POST /projects; create a project with name, github_url, clickup_url.
  • aiproject_get_project: GET /projects/{project}; get one project.
  • aiproject_update_project: PUT /projects/{project}; full project update, all project fields required.
  • aiproject_delete_project: DELETE /projects/{project}; deletes the project and its tasks.
  • aiproject_list_tasks: GET /projects/{project}/tasks; paginated task summaries. Does not return content.
  • aiproject_create_task: POST /projects/{project}/tasks; create a task with long content and assignments. Returns summary without content.
  • aiproject_get_task: GET /projects/{project}/tasks/{task}; the only task read tool that returns long content.
  • aiproject_update_task: PUT /projects/{project}/tasks/{task}; full task update. The sent assignments replace the old list. Returns summary without content.
  • aiproject_delete_task: DELETE /projects/{project}/tasks/{task}; deletes the task and assignments.
  • aiproject_update_assignment_status: PATCH /projects/{project}/tasks/{task}/assignments/{type}; update one existing team status. It does not create missing assignments.

Usage Guidance

List tasks first with aiproject_list_tasks because it returns lightweight summaries. Call aiproject_get_task only for the specific task whose long content must be read.

Use aiproject_update_assignment_status when only one team's status changes. Use aiproject_update_task when the title, content, or assignment team list changes.

Test

npm test

By default, the integration test calls http://127.0.0.1:8000/api/v1/me through MCP with a dummy API key and expects the documented 401 auth response. To test with a real key:

$env:AIPROJECT_BASE_URL = "http://127.0.0.1:8000/"
$env:AIPROJECT_API_KEY = "<API_KEY>"
npm test