Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive documentation for Virtual MCP Server (vMCP) audit logging capabilities to help enterprise security teams configure and use audit logging for compliance and operational visibility.
Changes:
- Added new audit logging guide (
docs/toolhive/guides-vmcp/audit-logging.mdx) covering MCP protocol event types, composite workflow operations, configuration options, log format, user identity extraction, output destinations, and integration with external logging systems - Updated sidebar navigation (
sidebars.ts) to include the new audit logging guide in the vMCP guides section
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| sidebars.ts | Added audit-logging guide to vMCP guides section navigation |
| docs/toolhive/guides-vmcp/audit-logging.mdx | New comprehensive guide documenting vMCP audit logging features including event types, configuration, JSON log format, query examples, and integrations with Splunk, Elasticsearch, and AWS CloudWatch |
Comments suppressed due to low confidence (3)
docs/toolhive/guides-vmcp/audit-logging.mdx:493
- The Splunk and AWS CloudWatch sidecar examples reference an
audit-logsvolume and mount path/var/log/auditwithout showing the complete VirtualMCPServer configuration that includes the volume definition and thelogFile: /var/log/audit/vmcp.logsetting. These examples should either:
- Show the complete configuration including the volumes and logFile setting (similar to lines 308-330), or
- Add a note indicating these examples assume file-based logging is configured with the audit-logs volume mounted.
Without this context, readers might be confused about where the audit logs come from since the default is stdout, not file-based logging.
events and route them to your observability backend.
For detailed configuration examples and best practices for setting up log
collection with Fluentd, Filebeat, Splunk, and other systems, see the
[Kubernetes logging guide](../guides-k8s/logging.mdx#set-up-log-collection).
## Related information
- [Authentication](./authentication.mdx) - Configure client and backend
authentication for user identity in audit logs
- [Telemetry and metrics](./telemetry-and-metrics.mdx) - Monitor vMCP
performance with OpenTelemetry
- [Observability concepts](../concepts/observability.mdx) - Overview of
ToolHive's observability architecture
- [Kubernetes logging guide](../guides-k8s/logging.mdx) - Configure logging for
MCP servers in Kubernetes
docs/toolhive/guides-vmcp/audit-logging.mdx:475
- The Fluent Bit configuration example will send all stdout/stderr logs from vMCP pods to the elasticsearch vmcp-audit index, not just audit logs. Consider adding a filter to only forward audit logs, similar to the pattern in guides-k8s/logging.mdx (lines 320-337). For example, add a FILTER section that checks for the presence of metadata.auditId or add a comment noting that this basic example would forward all logs and should be enhanced with filtering in production.
docs/toolhive/guides-vmcp/audit-logging.mdx:488 - The Fluent Bit sidecar example uses the
amazon/aws-for-fluent-bit:latestimage tag, which is a mutable reference and introduces supply chain risk because the pulled image can change over time without review, despite having permissions to write logs to CloudWatch. Pin this image to a specific version or image digest so that only vetted images are deployed and updates happen under controlled change management.
Document the audit logging capabilities of Virtual MCP Server to help enterprise security teams meet compliance requirements and maintain operational visibility. This guide covers: - MCP protocol and composite workflow event types - Configuration options for enabling and filtering audit logs - Structured JSON audit log format with field descriptions - User identity extraction from OIDC authentication tokens - Output destinations (stdout, file, external log aggregators) - Configuration patterns for security compliance and performance - Query examples and integration Closes: #488
danbarr
requested changes
Feb 2, 2026
danbarr
approved these changes
Feb 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add comprehensive documentation for Virtual MCP Server (vMCP) audit logging capabilities.
This guide helps enterprise security teams understand and configure audit logging to meet
compliance requirements (NIST SP 800-53) and maintain operational visibility into MCP
operations.
The documentation covers:
optimization, debugging)
Type of change
Related issues/PRs
Closes #488
Related implementation: stacklok/toolhive#2850
Screenshots
N/A - Text-based documentation
Submitter checklist
Content and formatting
Navigation
sidebars.ts) updated for added, deleted, reordered, or renamedfiles
vercel.jsonfor moved, renamed, or deleted pages (i.e., if theURL slug changed)
Reviewer checklist
Content