Integrations#
PacketBench integrates with services you explicitly configure. Each integration has its own trust boundary.
Git hosts#
Add GitHub, GitLab, or a self-hosted Gitea or Forgejo instance under Settings → Integrations & Data → Git Hosts. Use a token with only the scopes needed for repositories and issues you intend to access. Verify by refreshing repositories and opening an issue list for a test project.
A self-hosted instance URL must use https://. The token is sent as a header
on every request, so PacketBench accepts plain http:// only when the host is
local — a loopback, private-network, link-local or unique-local address, a
single-label hostname, or a name ending .local, .lan, .internal,
.home.arpa or .localhost. The same rule applies to the connection test.
Agent tools that read GitHub issues and pull requests take the token from the operating-system credential store. A plaintext token file in the data directory is not read.
MCP servers#
Add an MCP server under Settings → Integrations & Data → MCP, inspect its command or URL, and enable only the tools needed for a conversation. Local stdio servers run as your user. Network servers can send data to their configured endpoint. Start a read-only conversation and verify the MCP tool list before granting write authority.
A server defined by the repository in <project>/.mcp.json is loaded only when
you have listed that project as trusted, and an untrusted project cannot
disable your global server of the same name either. See
Configuration.
MCP provider#
PacketBench can also serve its own MCP endpoint so an external client can read workspace, flight and memory state.
- Open Settings → Integrations & Data → MCP and enable MCP Provider.
- Set the port and leave Allow writes off unless a client must append handoff notes.
- Tick only the tools the client needs under Available Tools.
- Copy the URL and bearer token into the client configuration.
An unticked tool is neither listed nor callable, and the resources that tool backs are neither listed nor readable. Resource routes with no matching tool — project, issues, reviews and the health probe resource — are served only when you have not restricted the tool list at all. The selection is fixed while the server runs; stop the server to change what it serves.
GET http://127.0.0.1:<port>/health needs no bearer token and returns the
application name and version, which is enough for a liveness check. Every
request, that one included, is refused with 403 when it carries an Origin
header that is not loopback, so a web page cannot reach the endpoint.
Ollama#
Start Ollama locally, set its endpoint in provider Settings if it is not using the default, then refresh models. Verification succeeds when the provider is ready and a short conversation returns a response from the selected local model.
Dictation#
Dictation uses a local Whisper model. Select the audio input, download or choose the model, and run the microphone check before enabling global shortcuts. External paste is optional and should remain disabled until clipboard-only delivery is verified.
Verify#
- The integration reports ready after an application restart.
- Credentials are not written into project configuration or transcripts.
- A read-only test reaches only the intended repository, server or model.
- With the MCP provider running, a restricted client sees only the ticked tools and their resources.
- Removing the integration prevents new calls without damaging existing conversation history.