remotemcp

package
v0.0.0-...-e7dfe3c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2026 License: AGPL-3.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Attach

func Attach(mux goahttp.Muxer, service *Service)

func VerifyRemoteMcpURL

func VerifyRemoteMcpURL(ctx context.Context, policy *guardian.Policy, rawURL string) (verified bool, httpStatus *int, message string)

VerifyRemoteMcpURL issues an MCP initialize request against rawURL and reports a verification outcome. The supplied guardian.Policy enforces the SSRF blocklist; rawURL must already have passed [validateURL]. The caller is responsible for bounding the overall deadline via ctx.

Types

type Headers

type Headers struct {
	// contains filtered or unexported fields
}

Headers handles encryption and decryption of header values. All header access should go through this wrapper.

func NewHeaders

func NewHeaders(logger *slog.Logger, db repo.DBTX, enc *encryption.Client) *Headers

func (*Headers) CreateHeader

func (*Headers) DeleteHeader

func (h *Headers) DeleteHeader(ctx context.Context, serverID uuid.UUID, name string) error

func (*Headers) ListHeaders

func (h *Headers) ListHeaders(ctx context.Context, serverID uuid.UUID, redacted bool) ([]repo.RemoteMcpServerHeader, error)

func (*Headers) ListHeadersByServerIDs

func (h *Headers) ListHeadersByServerIDs(ctx context.Context, serverIDs []uuid.UUID, redacted bool) (map[uuid.UUID][]repo.RemoteMcpServerHeader, error)

ListHeadersByServerIDs fetches headers for multiple servers in a single query and returns them grouped by server ID.

func (*Headers) UpsertHeader

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(
	logger *slog.Logger,
	tracerProvider trace.TracerProvider,
	db *pgxpool.Pool,
	sessions *sessions.Manager,
	enc *encryption.Client,
	authzEngine *authz.Engine,
	policy *guardian.Policy,
	auditLogger *audit.Logger,
) *Service

func (*Service) APIKeyAuth

func (s *Service) APIKeyAuth(ctx context.Context, key string, schema *security.APIKeyScheme) (context.Context, error)

func (*Service) CreateServer

func (s *Service) CreateServer(ctx context.Context, payload *gen.CreateServerPayload) (*types.RemoteMcpServer, error)

func (*Service) DeleteServer

func (s *Service) DeleteServer(ctx context.Context, payload *gen.DeleteServerPayload) error

func (*Service) GetServer

func (s *Service) GetServer(ctx context.Context, payload *gen.GetServerPayload) (*types.RemoteMcpServer, error)

func (*Service) ListServers

func (s *Service) ListServers(ctx context.Context, payload *gen.ListServersPayload) (*gen.ListServersResult, error)

func (*Service) UpdateServer

func (s *Service) UpdateServer(ctx context.Context, payload *gen.UpdateServerPayload) (*types.RemoteMcpServer, error)

func (*Service) VerifyURL

func (s *Service) VerifyURL(ctx context.Context, payload *gen.VerifyURLPayload) (*gen.VerifyURLResult, error)

Directories

Path Synopsis
Package proxy forwards MCP client requests to an upstream Remote MCP Server and relays its responses back to the client.
Package proxy forwards MCP client requests to an upstream Remote MCP Server and relays its responses back to the client.
Package remotemcptest provides helpers for seeding remote_mcp_servers rows in tests across packages that depend on a remote MCP server FK.
Package remotemcptest provides helpers for seeding remote_mcp_servers rows in tests across packages that depend on a remote MCP server FK.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL