Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BRIDGE_URLNoBase URL of the gittr bridge (e.g., https://gittr.space)
GITTR_LNBITS_URLNoOptional LNbits URL for Lightning functionality
GITTR_LNBITS_ADMIN_KEYNoOptional LNbits admin key

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
listReposB

Discover repositories from Nostr relays (NIP-34). Filter by pubkey or search term.

getRepoA

Get a single repository by ID or owner+name

resolveRepoByNostrIdA

Resolve repo by Nostr identity (npub or hex) and repo name. Returns cloneUrl (prefer git.gittr.space), cloneUrls, relays for location-agnostic use.

searchReposB

Full-text search across repository names and descriptions

findReposBySourceA

Exact reverse lookup: given one or more forge URLs (GitHub, GitLab, Codeberg, Gitea, …) or github owner/repo shorthand, find Nostr kind-30617 announces with that source/forkedFrom. Returns npub + gittr URL so you can DM owners when the forge is unreachable. Does NOT fuzzy-match renamed slugs.

findReposByGithubB

Alias for findReposBySource (exact forge URL → npub). Prefer findReposBySource for non-GitHub forges.

myReposA

List repositories owned by the current user (from .nostr-keys.json)

pushToBridgeA

Push files to git server (REQUIRES signing with privkey). Optional deletedPaths removes files or whole folders on the bare tip (same as gittr UI folder delete); allowTreeShrink defaults true when deletes are present.

publishRepoAnnouncementC

Publish repository to Nostr (kind 30617) - REQUIRES signing

publishRepoStateB

Publish repository state to Nostr (kind 30618) - REQUIRES signing

createRepoA

CREATE A REPO IN ONE CALL - Push files AND publish to Nostr. Best for agents! Auto-loads credentials from .nostr-keys.json.

describeAgentAuthA

Show whether Nostr keys are loaded (hex/npub only — never returns private key). Use first in a session.

setupTestKeypairA

Create a disposable TEST Nostr keypair and write .nostr-keys.json so all tools auto-load it. ASK THE USER FIRST — a keypair is a permanent Nostr identity. Without confirm:true this only returns the question to ask. Never overwrites real credentials unless force:true.

forkRepoC

Fork an existing repository

mirrorRepoC

Mirror a GitHub/GitLab repo to gittr.space

listBountiesC

Discover open bounties (issues with bounty labels or Lightning funding)

getFileA

Get file content without a full local clone. Tries gittr bridge file-content, then a few hardcoded GRASP /raw/ hosts. Not full Code-tab parity (no 30617 clone[] / repo-files for home remotes) — prefer bridgeListFiles after importRemoteToBridge/mirrorRepo.

addCollaboratorB

Add maintainer on kind 30617 (republishes full announcement with updated maintainers tag — matches gittr UI)

listIssuesB

List issues for a repository

createIssueA

Create an issue - REQUIRES signing

listPRsB

List pull requests for a repository

createPRC

Create a pull request - REQUIRES signing

createPRViaGittrCLIA

Create PR via gittr CLI - full flow including git push (RECOMMENDED for PRs)

getPublicKeyC

Get public key from private key

loadCredentialsA

Load Nostr credentials from .nostr-keys.json (for debugging)

submitBountyB

Submit work on a bounty (claim it with PR/evidence)

starRepoA

Star a repo (NIP-25 kind 7 on the latest kind 30617 event: tags e+k+p, content +). Requires a published repo announcement on relays.

unstarRepoA

Unstar a repo (NIP-25 kind 7 on the 30617 event with content "-"). Same tags as starRepo.

listStarsA

List repos a user starred (kind 7 with #k 30617 and #e pointing at 30617 events; latest reaction per repo wins)

watchRepoA

Watch a repo (NIP-51 kind 10018 followed-repos list — publishes full a tag set, same as gittr Watch button)

unwatchRepoB

Unwatch a repo (republish kind 10018 without this repo)

listWatchedReposA

List repos from your latest kind 10018 followed-repos event on relays

getTrendingReposC

Get trending/popular repositories

getRepoContributorsB

Get contributors to a repository

getBranchesC

Get branches for a repository

getCommitHistoryC

Get commit history for a repository

createReleaseC

Not supported for UI release notes. For Zapstore/NIP-82 APK announce use announceSoftwareFromForgeRelease. For git tags use listReleases + publishRepoState.

listReleasesA

List git tags from the bridge (refs/tags/*), not Zapstore software releases

fetchForgeReleasesA

Fetch latest public forge Release (GitHub/Codeberg/GitLab) and APK assets. Set hash:true to compute APK sha256 (slow; required before announce).

announceSoftwareFromForgeReleaseA

Announce Android app to Zapstore/NIP-82 catalog from a forge Release APK (kinds 32267/30063/3063). Same as gittr Code sidebar Announce app. Auto-loads .nostr-keys.json if privkey omitted.

deleteSoftwareAnnounceA

NIP-09 kind 5 deletion for previously published NIP-82 app/release/asset event ids (does not delete the git repo).

softDeleteRepoA

Owner soft-delete for a NIP-34 repo: publish replaceable 30617 with deleted markers + NIP-09 kind 5 on a=30617:owner:repo (same as gittr Settings → Delete). Alias: deleteRepo.

deleteRepoC

Alias for softDeleteRepo — soft-delete a NIP-34 repository (owner only).

publishSoftwareAnnounceA

Low-level: publish NIP-82 events from an already-fetched forge payload (ok:true + hashed APK). Prefer announceSoftwareFromForgeRelease.

exploreReposC

Explore repositories by category/topic

updatePullRequestB

Publish NIP-34 PR update (kind 1619): new tip commit + clone URLs

publishStatusForRootB

Publish NIP-34 status (1630 open, 1631 merged/applied, 1632 closed, 1633 draft) for an issue, PR, or patch root event

createBountyInvoiceA

Create Lightning invoice for bounty escrow (POST /api/bounty/create). Use GITTR_LNBITS_* env or pass lnbitsUrl + lnbitsAdminKey. Publish kind 9806 after pay via publishBountyToNostr.

publishBountyToNostrC

Publish gittr bounty metadata event (kind 9806)

listBountiesForIssueA

List kind 9806 bounty events linked to an issue id

getIssueByIdB

Fetch single issue event (1621) by id from relays

getPullRequestByIdA

Fetch single PR event (1618) by id from relays

closeIssueC

Convenience: publish status 1632 (closed) for an issue

reopenIssueC

Convenience: publish status 1630 (open) for an issue

markPullRequestMergedC

Convenience: publish status 1631 (merged/applied) for a PR root event

mergePullRequestA

Full merge: git clone/fetch with signed HTTPS auth, merge PR head, push to bridge, optional 30618+1631. Signer must be repo owner OR on latest kind 30617 merge_maintainers (if that tag exists) OR on maintainers when merge_maintainers is absent. Requires git on PATH. repoId optional if derivable from PR a-tag.

importRemoteToBridgeB

Server-side git clone into bridge: import GitHub/Git URL into owner/repo on gittr (refetch)

bridgeRepoExistsC

GET /api/nostr/repo/exists — check if repo exists on bridge

bridgeListFilesC

GET /api/nostr/repo/files — list files for branch

bridgeGetFileContentC

GET /api/nostr/repo/file-content — raw file from bridge

bridgeListRefsD

GET /api/nostr/repo/refs

bridgeListCommitsD

GET /api/nostr/repo/commits

getPushPaywallStatusC

GET /api/nostr/repo/push-payment — push cost and whether payer has paid intent

createPushPaywallIntentC

POST push-payment action create_intent — invoice for pay-to-push (owner wallet keys in body)

syncRepoPushPolicyB

POST /api/nostr/repo/push-policy-sync — upsert push paywall from signed kind 30617 (use announcement event JSON from publishRepoAnnouncement)

bountyReleaseC

POST /api/bounty/release — pay bounty to recipient Lightning address

bountyCreateWithdrawC

POST /api/bounty/create-withdraw — LNURL-withdraw for bounty flow

bountyClaimWithdrawD

POST /api/bounty/claim-withdraw — claim withdraw to recipient

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arbadacarbaYK/gittr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server