GitHub ProjectsSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://smithery.ai/server/taylor-lindores-reeves/mcp-github-projects)
An MCP (Model Context Protocol) server that enables AI agents to create and manage Agile Sprint-based projects using GitHub Projects.
Features
- GitHub Projects v2 API: Full support for GitHub's GraphQL Projects v2 API
- GitHub Issues: Create, read, and update GitHub issues
- GitHub Repositories: Fetch repository details
- Type Safety: Built with TypeScript for maximum type safety
Project Structure
This MCP server is built with a layered architecture that separates concerns and promotes maintainability. The codebase provides typed access to GitHub's GraphQL API with comprehensive error handling and security features.
Directory Overview
├── src/ # Source code directory │ ├── index.ts # MCP server entry point & tool registration │ ├── operations/ # Business logic layer │ │ ├── github-client.ts # GitHub API client wrapper │ │ ├── issues.ts # Issue operations & schemas │ │ ├── projects.ts # Project v2 operations & schemas │ │ ├── repositories.ts # Repository operations & schemas │ │ └── index.ts # Operations barrel exports │ ├── graphql/ # GraphQL queries & mutations │ │ ├── issues/ # Issue-related GraphQL files │ │ ├── projects/ # Project-related GraphQL files │ │ └── repositories/ # Repository-related GraphQL files │ ├── types/ # TypeScript type definitions │ │ ├── github-api-types.ts # Auto-generated GitHub API types │ │ └── graphql.d.ts # GraphQL type declarations │ ├── utils/ # Util
7ff5091ec830OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add github-api-mcp-server --env GITHUB_TOKEN=${GITHUB_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"github-api-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}Exposed tools (21)
7 read · 10 write · 4 destructive. Blast radius: 4 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add-draft-issue | write | Add a draft issue to a GitHub Project |
add-item-to-project | write | Add an existing issue or PR to a GitHub Project |
archive-project-item | read | Archive an item in a GitHub Project |
bulk-update-project-item-field | write | Update a field value for multiple project items |
clear-item-field-value | destructive | Clear a field value for an item in a GitHub Project |
convert-draft-issue | read | Convert a draft issue to a regular issue |
copy-project | read | Copy a GitHub Project |
create-project | write | Create a new GitHub Project |
create-project-field | write | Create a new field in a GitHub Project |
delete-project | destructive | Delete a GitHub Project |
delete-project-field | destructive | Delete a field from a GitHub Project |
delete-project-item | destructive | Remove an item from a GitHub Project |
get-project-items | read | Get items (issues) from a GitHub Project |
mark-project-as-template | read | Mark a GitHub Project as a template |
unarchive-project-item | read | Unarchive an item in a GitHub Project |
unmark-project-as-template | read | Unmark a GitHub Project as a template |
update-item-position | write | Update the position of an item in a GitHub Project |
update-project | write | Update an existing GitHub Project |
update-project-field | write | Update a field in a GitHub Project |
update-project-item-field | write | Update a field value for a project item |
update-project-status | write | Update the status of a GitHub Project |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (6)
clear-item-field-value, delete-project, delete-project-field, delete-project-item
@modelcontextprotocol/sdk, @octokit/core, @octokit/graphql, @octokit/plugin-paginate-graphql, @octokit/plugin-rest-endpoint-methods, zod, @graphql-codegen/cli, @graphql-codegen/typescript
schema.docs.graphql
src/types/github-api-types.ts
load_dotenv() # load environment variables from .env
curl -LsSf https://astral.sh/uv/install.sh | sh
Gates applied: no_behavioural_pass.
7ff5091ec830full audit observations/trust-audit/mcp-server/taylor-lindores-reeves__github-projects.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 7ff5091ec830 | SAFE | B | 89 | first audit |
Questions
What tools does GitHub Projects expose?
21 in total: 7 read-only, 10 that write, and 4 that can delete or overwrite (clear-item-field-value, delete-project, delete-project-field, delete-project-item). Every one is listed on this page with its risk.
Is GitHub Projects safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 4 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does GitHub Projects need?
It reads GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does GitHub Projects run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as github-api-mcp-server at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (7ff5091ec830), read on 2026-10-08. The repository is watched and re-audited when it changes.