Install the client
Run this in your terminal. The package connects to the hosted NearPortal service; you do not need to run a backend.
npm install -g nearportal-mcp@0.1.0View the package on npm ↗ · Apache-2.0 · No repository clone needed
nearportal
Connected terminals
NEARPORTAL × YOUR CODING AGENT
Find a bounty, agree to the terms and submit your work from the tools you already use. Connect once with GitHub, then ask your agent.
Base Sepolia testnet · Test USDC only
Find available bounties.
Show me the terms before I claim.
01 Find funded work
02 Claim an exclusive assignment
03 Submit a PR and follow payment
01 / GET CONNECTED
You'll need a GitHub account, a coding agent with local MCP support, and Node.js 22.18 or newer with npm. Node.js 24 is recommended. These commands work on macOS, Linux and Windows through WSL.
Run this in your terminal. The package connects to the hosted NearPortal service; you do not need to run a backend.
npm install -g nearportal-mcp@0.1.0View the package on npm ↗ · Apache-2.0 · No repository clone needed
nearportal-mcp login --server https://nearportal.com --scopes readConnected as @you.Check the connection whenever you need:
nearportal-mcp statusNearPortal sign-in and your Git/GitHub terminal login are separate. You still use your own Git tools to push code and open PRs.
Choose your client, then run its command in your terminal.
claude mcp add --transport stdio --scope user nearportal -- nearportal-mcp serve --server https://nearportal.comOpen Claude Code and use /mcp to check the connection. Claude Code MCP documentation ↗
codex mcp add nearportal -- nearportal-mcp serve --server https://nearportal.comRun codex mcp list to check registration, then start a new session. Official Codex MCP documentation ↗
In the existing [mcp_servers.nearportal] entry in ~/.codex/config.toml, set tool_timeout_sec = 120. A timeout does not mean creation failed; check the batch before retrying.
Add this entry to your client's MCP configuration. It must support a local stdio server.
{
"mcpServers": {
"nearportal": {
"command": "nearportal-mcp",
"args": ["serve", "--server", "https://nearportal.com"]
}
}
}If the app cannot find the command, use the absolute path returned by command -v nearportal-mcp. No token belongs in this configuration.
Your agent can call account_status and show your GitHub account and permissions. Restart or reconnect your client if the tools have not appeared.
02 / ASK YOUR AGENT
Paste these into your coding agent after connecting. It will choose the appropriate NearPortal tools.
Use NearPortal to find available bounties. Show me the reward, delivery window, repository and payment conditions before claiming anything.
Show my NearPortal assignments, submitted PRs and confirmed payments. Explain anything waiting for me, checks or the creator's merge.
Help me prepare two NearPortal bounties on OWNER/REPO, each worth 0.01 test USDC with a 48-hour delivery window. Ask for the brief, acceptance criteria and selected workflow job for each. Show validation results before creating them.
Replace OWNER/REPO with your GitHub repository. No available results? Try a wider search or ask for paid bounties to inspect a completed example.
03 / BUILD & SUBMIT
Choose Contribute to bounties in step 2 to grant read,contribute.
Ask your agent to inspect the bounty with get_bounty. Review the reward, selected check, delivery window and payout conditions before accepting.
Ask your agent to verify your public Base Sepolia wallet address, or run the command below with your address. Sign the verification message yourself in the browser. It does not transfer funds.
nearportal-mcp wallet verify 0xYourPublicWalletAddressEOA wallets are supported. Never provide a private key or seed phrase. Verification can be reused for 90 days for that account and address.
Confirm the agreement and your verified wallet with your agent. claim_bounty reserves one exclusive assignment. The delivery clock starts when the escrow confirms the claim. The payout wallet is then fixed.
Use get_assignment for the branch, deadline and required PR marker. Work with your normal Git tools and include that marker in your PR description. Ask your agent to call submit_work with the PR URL before the deadline. Opening a PR alone does not submit it to NearPortal. If you push a new commit, submit it again before the deadline.
The submitted commit must pass the agreed job, and the creator must merge the PR. New agreements accept any GitHub merge method. Other agreement and funding conditions still apply. Payment becomes Paid only after confirmation, with a receipt.
04 / FUND WORK
Choose Create bounties in step 2 to grant read,create. You need write access to the repository and an acceptance workflow with a job NearPortal can verify from recent runs.
prepare_bounties validates 1–10 briefs, criteria, selected jobs, rewards and delivery windows. It does not publish or fund a bounty.create_bounties. Keep the returned batch identifier so you can resume and check progress.get_funding_instructions shows each verified deposit address and exact amount. Send Base Sepolia test USDC manually to each address.get_batch_status to follow funding. A bounty becomes available after its deposit is confirmed.Never send the batch total to one address or fund an already confirmed bounty again. MCP does not fund bounties or merge PRs for you.
Test USDC contract: 0x036CbD53842c5426634e7929541eC2318f3dCF7e · Base Sepolia, chain 84532. Follow the exact instructions returned for your bounty.
05 / YOUR ACCESS
| Permission | Allows |
|---|---|
read | Search, view agreements, assignments, funding instructions and statuses. |
contribute | Verify a wallet, claim an assignment and submit a PR. |
create | Prepare and create bounties on repositories you can use. |
release | Give up your assignment. This does not release money; it is a separate, optional permission. |
Credentials expire after 30 days and are stored in your OS keychain where available, otherwise in a private local file. Never paste credentials into a chat or repository.
Disconnect from the terminal, or revoke access under Connected terminals. Revocation applies to the next request.
nearportal-mcp logout06 / GET UNSTUCK
This release runs locally over stdio and calls the hosted NearPortal API. Use the setup command or JSON above. The website and API URL are not a remote MCP endpoint.
Run node --version, nearportal-mcp help and nearportal-mcp status in your terminal. If the agent has a different PATH, use the full path returned by command -v nearportal-mcp in its configuration, then reconnect. For an npm install permission error, use a Node version manager or a writable npm prefix.
Repeat the login in step 2 with the permissions you need and approve the new request. A revoked or expired credential requires a new login. If the browser opens the wrong GitHub account, sign in with your intended account before approving.
Read get_assignment or get_batch_status first. The action may already have succeeded. Retry with the same idempotency key, or the same preparation and batch key for creation. A different key can mean a new action.
Inspect the bounty's verification details. A selected job may be missing, running, failing or from the wrong workflow or commit. The submission, author, funding and agreement checks must also pass. An unrelated failing job alone does not block an otherwise qualifying selected job. Confirmations can take additional time.
No. NearPortal's workers continue checking submitted work and payment status. Closing your terminal does not reset an assignment deadline.
No. This demo uses test USDC on Base Sepolia and NEAR testnet. Never send mainnet assets to its deposit addresses.