Scope-gated Linear project administration with optional GitHub and Obsidian evidence adapters
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Three interoperable Agent Skills and an optional MCP server for creating, maintaining, and reconciling Linear projects without pulling unrelated work into scope.
This collection is an Openly Useful project: practical infrastructure people can inspect, adapt, and improve.
Openly Useful LLC is the planned legal entity and remains formation-pending. Openly Useful is currently operated by its founder as an individual, and this repository does not claim that the LLC is formed, active, or the current operator. publisher.json is a repo-local projection of the public publisher authority. The founder-owner has authorized external source and registry publication while formation proceeds; namespace verification, provider authentication, and provider review remain provider-specific steps.
| Skill | Use it to |
|---|---|
linear-bootstrap-scoped-project | Create a net-new project, establish the key-bearing team, link canonical sources, and import legacy work safely. |
linear-sync-project-work | Keep implementation evidence, backlog gaps, blockers, and status current while work proceeds. |
linear-reconcile-project-history | Find an existing project, move high-confidence related issues, and capture legacy evidence as [HISTORICAL]. |
The skills hand work to one another rather than duplicating responsibilities:
@openly-useful/linear-project-mcp-server turns the workflows into 13 typed MCP tools. It can create a dedicated Linear team or subteam, bootstrap a scope-labeled project, capture active or [HISTORICAL] issues idempotently, find and explicitly move reviewed reconciliation candidates, and link verified evidence.
The server calls Linear directly through its official TypeScript SDK. GitHub evidence is optional and read-only. Obsidian support is optional, local, restricted to allowlisted Markdown directories, and never copies note contents into Linear when adding a link.
All mutations are disabled by default and require an exact organization allowlist, a scope-code allowlist, team/project gates, and a literal per-tool confirmation. See the server setup and security guide for installation and client configuration.
The MCP integration has four intentionally distinct names:
| Name | Meaning |
|---|---|
linear_project | Canonical Codex MCP registration alias and the name used with codex mcp commands. |
@openly-useful/linear-project-mcp-server | npm package name. It becomes installable from npm after the first successful package release. |
linear-project-mcp-server | Package executable and MCP protocol server artifact name. |
linear-project-mcp-write-window | Package helper for explicitly opening, inspecting, and closing a bounded write window. |
For a source checkout, build the package and register the local executable with Codex:
These commands contain no credentials. Supply adapter credentials through a protected launcher or secret store rather than command arguments or committed client configuration. See the MCP client guide for the npm command that applies after the first release and for the expected read-only acceptance checks.
Linear issue identifiers inherit their prefix from a team, not a project or label. A workflow that must begin at XY-1 therefore needs a new team with key XY, a verified empty issue history, and immediate readback of the first created issue. These skills stop instead of pretending that a project label can provide that guarantee.
Clone the repository, then copy the skills you want into the user-level skills directory supported by your agent.
For Codex:
Start a new task or restart the agent if its skill catalog does not refresh automatically.
The repository root is one aggregate plugin containing all three canonical skill directories. .codex-plugin/plugin.json and .claude-plugin/plugin.json both point to ./skills/ and .mcp.json; no provider-specific skill copies or symlinks are maintained. The MCP config uses npx/npm exec to install the immutable @openly-useful/linear-project-mcp-server@0.1.0 package and launch its server entry explicitly. This avoids ever selecting the package's separate write-window helper and remains portable across host shells. Repo-local Codex and Claude marketplace catalogs point back to the repository root for the same reason.
Registration files are generated from manifest.json, publisher.json, and the MCP package metadata:
The write form changes only repo-local registration files. It does not install a plugin, add a marketplace to a host, authenticate, publish a package, submit an MCP Registry record, or change the founder-authorization gate.
After installing or upgrading the plugin, start a new Codex task or restart Claude Code so the host discovers the newly registered MCP tools. The plugin never embeds credentials or scope values. Supply LINEAR_API_KEY or LINEAR_ACCESS_TOKEN and the exact LINEAR_ALLOWED_* settings through the host environment or a protected launcher. Without them the server still starts, writes remain disabled, and Linear tools fail closed with configuration guidance.
The MCP Registry record is mcp/linear-project-mcp-server/server.json. Its registry identity is org.openlyuseful/linear-project, while its npm package remains @openly-useful/linear-project-mcp-server. The official Registry requires server.json.name and package.json.mcpName to match; the repository validator enforces that equality together with package and version alignment.
The skills do not include credentials, a background daemon, or permission to monitor or mutate unrelated projects.
Create a project with a dedicated issue sequence:
Keep current implementation synchronized:
Reconcile an existing project:
Historical capture is deliberately separate from active work. A historical issue:
[HISTORICAL];HISTORICAL labels;Historical only: true and Actionability: none;Every workflow is read-first and scope-gated:
The repository validator uses only the Python standard library:
To validate the MCP server too:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/linear-project)<a href="https://allmcps.com/mcp/linear-project"><img src="https://allmcps.com/api/badge/linear-project?style=directory" alt="Linear Project on AllMCPs" /></a>