
Project Context
io.github.sandovalrrPublished by GitHub account sandovalrrv0.4.0Updated Oct 24, 2026
Safely manage repository-scoped issues across Linear, GitHub Issues, and Jira Cloud.
Overview
Local MCP server that lets an assistant read and safely change repository-scoped issues in Linear, GitHub Issues and Jira Cloud.
- What you can do
- Resolve the current Git repository and its configured issue provider, and check issue capabilities
- List, search and read issues, including relations, subissues and archived items
- List and search users, and search issue options such as labels, cycles and milestones
- List issue comments
- Prepare and apply issue changes, with each write split into a preview and a single-attempt apply step
- When to use it
- Useful when an assistant should work with the issues of a specific repository across Linear, GitHub Issues or Jira Cloud, and you want writes to be previewed and confirmed rather than applied blindly.
- Requirements
- Node.js 22 or newer on Linux or macOS, run as a local stdio process. Host-local YAML configuration under a config directory (overridable with PROJECT_CONTEXT_CONFIG_DIR) defines repository, provider, target and expected identity; credentials come from files, environment variables, OS keychains or argv-only commands. Optional PROJECT_CONTEXT_CWD and PROJECT_CONTEXT_STATE_DIR override the repository fallback and state directory. Network access to the provider's fixed HTTPS origins.
Installation
In SourceWeft
- Open Project Context in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
project-context
project-context is a local, provider-neutral MCP server for repository-scoped
issue handling. It gives agents one guarded interface to Linear, GitHub Issues,
GitHub Projects v2, and Jira Cloud while keeping project mappings and
credentials outside source repositories.
The server resolves the current Git repository, selects its configured issue provider, verifies the authenticated account, and separates every write into a preview and a single-attempt apply step. Pull requests, releases, repository administration, Git authentication, and commit signing are intentionally out of scope.
Quick start
Requirements: Node.js 22 or newer on Linux or macOS.
The first command creates secure, host-local starter files without overwriting anything that already exists:
Copy and adapt the sanitized examples in examples/, validate the result, and
then register the project-context-mcp stdio command in your MCP client. The
complete Codex, Claude, Zed, and VS Code configurations are in
docs/installation.md.
Safety model
- Host-local YAML determines the repository, provider, target, and expected identity. Missing or ambiguous context fails closed for writes.
- Credentials resolve from files, environment variables, OS keychains, or argv-only commands. Literal secrets in YAML are rejected.
- Provider calls are restricted to fixed HTTPS origins, reject redirects, cap response sizes and timeouts, and never automatically retry writes.
- Linear issue operations use a fixed allowlist of Linear's hosted MCP tools; project-context never proxies the upstream server's broader tool catalog.
- Prepared writes expire after ten minutes, are encrypted with AES-256-GCM,
and can be claimed only once. An uncertain apply result becomes
indeterminateand is never replayed automatically. - Mutation audit records contain metadata only, are mode
0600, and rotate locally. The project has no telemetry.
Read docs/threat-model.md for trust boundaries and
residual risks, and docs/routing-and-safety.md
for operational behavior.
Commands and MCP tools
The stdio server exposes eleven tools:
resolve_project_contextlist_issuessearch_issueslist_userssearch_userssearch_issue_optionsget_issue_capabilitiesget_issuelist_issue_commentsprepare_issue_changeapply_issue_change
Every tool has an input and output schema. Starting the server has no setup side effects; when host configuration is absent, tools return an actionable structured error.
Linear additionally supports target-scoped subissues, due dates, estimates, cycles, milestones, blocking/related/duplicate relationships, comment replies and edits, archived listing, and relation-expanded reads. SLA fields, permanent deletion, and non-issue Linear features are not exposed.
GitHub additionally supports repository issue types and milestones, native parent/subissue hierarchies, blocking dependencies, duplicate relationships, comment edits, direct-subissue listing, and relation-expanded reads. GitHub custom-field mappings, generic related-to relationships, threaded comment replies, pull requests, and repository administration are not exposed.
integration manifest prints the provider-neutral command definition by
default. Pass --client codex, claude, zed, or vscode to emit native,
ready-to-paste configuration pinned to the installed package version. Add
--json when automation needs an envelope containing the client, format, and
configuration.
The optional project-issues agent skill is packaged but never installed as an
npm lifecycle side effect:
Use --replace only after reviewing status; replacement creates a timestamped
backup.
Documentation
docs/installation.md: package and MCP client setup.docs/configuration.md: host-local YAML and credential resolvers.docs/architecture.md: components and runtime boundaries.docs/provider-behavior.md: provider-specific behavior.docs/releasing.md: bootstrap, semantic release, npm, and MCP Registry.CONTRIBUTING.md: development and review requirements.SECURITY.md: supported versions and private reporting.
License and attribution
This project is available under the MIT License, copyright 2026 Richard Sandoval. The copyright and permission notice must remain with copies or substantial portions of the software.
If this repository is used as the starting point for another project, a visible acknowledgment is appreciated:
Based on project-context, created by Richard Sandoval.
Source: README.md at commit 0e1f2e4
Tools
0Version history
1- v0.4.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts