Install
$ agentstack add mcp-pymodel-pythinker-code Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Pythinker Code
A coding agent you can run as a desktop app
[](https://github.com/PyModel/pythinker-desktop-releases/releases/latest) [](https://code.pythinker.com/) [](https://code.pythinker.com/) | [](https://code.pythinker.com/) [](package.json) [](https://github.com/PyModel/pythinker-code)
Download · Capabilities · Terminal · Editor · Development
Get the desktop app
Install it, open it, and describe a task. Pythinker then works on your project the way a colleague would: it reads the code, changes files, runs commands, checks what happened, and keeps going until the job is done.
The app runs the whole agent on your machine. It starts a local host bound to loopback, so nothing is exposed to your network. Closing the window hides the app to the tray instead of killing it, so a long session survives.
If you already use the CLI, the app picks up the same data directory (~/.pythinker-code/ by default). Your login, providers, MCP servers, and past sessions are already there. Updates install themselves, and Settings has a switch if you would rather they did not.
macOS gets a .dmg. Windows gets a per-user installer that does not ask for administrator rights. There is no Linux build yet, so on Linux use the terminal version or run pythinker web for the browser interface.
More detail is in the desktop guide.
What the agent can do
Everything below behaves the same in the app, in the terminal, and in your editor.
Work on a real codebase
Pythinker searches and reads your repository, edits files, runs shell commands, and reads the output before it decides what to do next. It runs your tests, reads the failures, and tries again. Ask it to refactor a module, trace a bug, or fill in missing tests, and give it as much rope as you are comfortable with.
Split work across subagents
Large tasks get delegated. A coder subagent makes scoped edits, explore maps unfamiliar parts of the repo, and plan designs the approach. They run in parallel with their own context, so the main conversation stays readable instead of filling with file dumps.
Keep control of the tools
You see a tool call before it runs, and you approve it. The permission model lets you pre-approve the boring calls and hold the risky ones. Hooks fire on lifecycle events, so you can block a command, record a decision, or trigger something in your own systems.
Load your own tools and instructions
/mcp-config adds and authenticates Model Context Protocol servers from inside a session, over stdio or HTTP, and remembers them for next time. Skills are repo-local instruction files that load on demand with /skill:. Plugins bundle skills, servers, and data sources from the marketplace or straight from GitHub.
Use the model you want
Pythinker models work out of the box. Other providers work by configuration, including any OpenAI-compatible endpoint and local ones.
Show it instead of describing it
Drop a screen recording into the conversation when the bug is easier to show than to write down.
In the terminal
The CLI ships as a native binary, so there is no Node.js prerequisite.
| Platform | Command | |---|---| | macOS / Linux | curl -fsSL https://code.pythinker.com/pythinker-code/install.sh \| bash | | Homebrew | brew install pymodel/tap/pythinker-code | | Windows (PowerShell) | irm https://code.pythinker.com/pythinker-code/install.ps1 \| iex | | Nix | nix run github:PyModel/pythinker-code | | npm | npm install -g @pymodel/pythinker-code (needs Node.js 24.15+) |
cd your-project
pythinker
Run /login on first launch and pick OAuth or an API key. Then ask for something real:
Find where authentication is handled and add a unit test for the token refresh path.
> [!NOTE] > On Windows, install Git for Windows first. Pythinker uses the bundled Git Bash as its shell. To point at a different one, set PYTHINKER_SHELL_PATH to the full path of bash.exe.
In your editor
Pythinker speaks the Agent Client Protocol, so Zed, JetBrains, and other ACP editors can host a full session inline. Log in once from the CLI, then point the editor at pythinker acp.
Zed configuration
Add to ~/.config/zed/settings.json:
{
"agent_servers": {
"Pythinker Code": {
"type": "custom",
"command": "pythinker",
"args": ["acp"],
"env": {}
}
}
}
Using in IDEs covers JetBrains setup and the capability matrix.
Documentation
| Topic | Link | |-------|------| | Desktop app | guides/desktop | | Getting started | guides/getting-started | | Interaction and approvals | guides/interaction | | Sessions | guides/sessions | | Configuration | configuration/config-files | | Command reference | reference/pythinker-command |
Development
Pythinker Code is a pnpm monorepo. The desktop app and the CLI both talk to the SDK, never to the engine packages directly.
| Package | Role | |---------|------| | apps/desktop | macOS and Windows desktop application | | apps/pythinker-code | CLI and terminal UI | | apps/pythinker-web | Browser interface that the desktop app renders | | packages/agent-core | Agent engine: sessions, tools, skills, permissions, plans | | packages/kosong | LLM and provider abstraction | | packages/pyaos | Execution environment, file and process abstractions | | packages/server | REST and WebSocket session host (/api/v1) | | packages/node-sdk | Public TypeScript SDK |
Requirements: Node.js 24.15-24.x, pnpm 10.34.3, Git.
git clone https://github.com/PyModel/pythinker-code.git
cd pythinker-code
pnpm install
pnpm dev:desktop # desktop app in dev mode
pnpm dev:cli # CLI in dev mode
pnpm test # Vitest
pnpm typecheck # TypeScript
pnpm lint # oxlint
pnpm build # build everything
Contributing
Bug reports, PRs, plugins, skills, and docs are all welcome. Start with [CONTRIBUTING.md](CONTRIBUTING.md), and read [SECURITY.md](SECURITY.md) before reporting a vulnerability.
Open an issue before large refactors or API changes. Use Conventional Commits, add a changeset (pnpm changeset) when your PR affects a release artifact, and be ready to explain your diff. AI-assisted PRs are held to the same standard as hand-written ones.
License
MIT. See [LICENSE](LICENSE).
Our TUI is built on pi-tui. Thanks to its authors.
code.pythinker.com · Download · npm · Docs
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: PyModel
- Source: PyModel/pythinker-code
- License: MIT
- Homepage: https://pythinker.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.