mcp

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2026 License: MIT Imports: 21 Imported by: 0

Documentation

Overview

Package mcp provides MCP server integration for Aha Studio using OmniSkill.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunServer

func RunServer(ctx context.Context, opts *ServerOptions) error

RunServer starts the MCP server.

Types

type AhaSkill

type AhaSkill struct {
	skill.BaseSkill
	// contains filtered or unexported fields
}

AhaSkill implements the skill.Skill interface for Aha.io operations.

func NewAhaSkill

func NewAhaSkill(cfg *Config) *AhaSkill

NewAhaSkill creates a new AhaSkill with the given configuration.

func (*AhaSkill) Close

func (s *AhaSkill) Close() error

Close cleans up resources.

func (*AhaSkill) Description

func (s *AhaSkill) Description() string

Description returns a human-readable description of the skill.

func (*AhaSkill) Init

func (s *AhaSkill) Init(ctx context.Context) error

Init initializes the skill.

func (*AhaSkill) Name

func (s *AhaSkill) Name() string

Name returns the skill identifier.

func (*AhaSkill) Tools

func (s *AhaSkill) Tools() []skill.Tool

Tools returns the tools provided by this skill.

type Config

type Config struct {
	// Subdomain is the Aha.io account subdomain.
	Subdomain string

	// APIKey is the Aha.io API key.
	APIKey string

	// DefaultProduct is the default product ID for queries.
	DefaultProduct string

	// BrowserEmail is the email for browser automation login.
	BrowserEmail string

	// BrowserPassword is the password for browser automation login.
	BrowserPassword string
}

Config holds configuration for the Aha MCP skill.

func ConfigFromEnv

func ConfigFromEnv() (*Config, error)

ConfigFromEnv creates a Config from environment variables.

func (*Config) NewClient

func (c *Config) NewClient() (*aha.Client, error)

NewClient creates an Aha API client from the config.

type ServerOptions

type ServerOptions struct {
	// Transport is the transport mode: "stdio" or "http"
	Transport string

	// HTTPAddr is the HTTP server address (for http transport)
	HTTPAddr string

	// Config is the Aha configuration
	Config *Config
}

ServerOptions configures the MCP server.

type ToolHandlers

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

ToolHandlers provides handler functions for Aha MCP tools.

func NewToolHandlers

func NewToolHandlers(cfg *Config) *ToolHandlers

NewToolHandlers creates a new ToolHandlers instance.

func (*ToolHandlers) AddFeatureComment

func (h *ToolHandlers) AddFeatureComment(ctx context.Context, params map[string]any) (any, error)

AddFeatureComment adds a comment to a feature.

func (*ToolHandlers) AddIdeaComment

func (h *ToolHandlers) AddIdeaComment(ctx context.Context, params map[string]any) (any, error)

AddIdeaComment adds a comment to an idea.

func (*ToolHandlers) AssignFeatureRelease

func (h *ToolHandlers) AssignFeatureRelease(ctx context.Context, params map[string]any) (any, error)

AssignFeatureRelease assigns a feature to a release.

func (*ToolHandlers) AssignUserToFeature

func (h *ToolHandlers) AssignUserToFeature(ctx context.Context, params map[string]any) (any, error)

AssignUserToFeature assigns a user to a feature.

func (*ToolHandlers) BrowserCreateTemplate

func (h *ToolHandlers) BrowserCreateTemplate(ctx context.Context, params map[string]any) (any, error)

BrowserCreateTemplate creates a strategic model template via browser automation.

func (*ToolHandlers) ChangeFeatureStatus

func (h *ToolHandlers) ChangeFeatureStatus(ctx context.Context, params map[string]any) (any, error)

ChangeFeatureStatus changes the workflow status of a feature.

func (*ToolHandlers) CreateFeature

func (h *ToolHandlers) CreateFeature(ctx context.Context, params map[string]any) (any, error)

CreateFeature creates a new feature.

func (*ToolHandlers) DescribeAQL

func (h *ToolHandlers) DescribeAQL(ctx context.Context, params map[string]any) (any, error)

DescribeAQL returns AQL syntax help.

func (*ToolHandlers) GetComment

func (h *ToolHandlers) GetComment(ctx context.Context, params map[string]any) (any, error)

GetComment retrieves a comment by ID.

func (*ToolHandlers) GetEpic

func (h *ToolHandlers) GetEpic(ctx context.Context, params map[string]any) (any, error)

GetEpic retrieves an epic by ID.

func (*ToolHandlers) GetFeature

func (h *ToolHandlers) GetFeature(ctx context.Context, params map[string]any) (any, error)

GetFeature retrieves a feature by reference number.

func (*ToolHandlers) GetGoal

func (h *ToolHandlers) GetGoal(ctx context.Context, params map[string]any) (any, error)

GetGoal retrieves a goal by ID.

func (*ToolHandlers) GetIdea

func (h *ToolHandlers) GetIdea(ctx context.Context, params map[string]any) (any, error)

GetIdea retrieves an idea by reference number.

func (*ToolHandlers) GetInitiative

func (h *ToolHandlers) GetInitiative(ctx context.Context, params map[string]any) (any, error)

GetInitiative retrieves an initiative by reference number.

func (*ToolHandlers) GetKeyResult

func (h *ToolHandlers) GetKeyResult(ctx context.Context, params map[string]any) (any, error)

GetKeyResult retrieves a key result by ID.

func (*ToolHandlers) GetPersona

func (h *ToolHandlers) GetPersona(ctx context.Context, params map[string]any) (any, error)

GetPersona retrieves a persona by ID.

func (*ToolHandlers) GetRelease

func (h *ToolHandlers) GetRelease(ctx context.Context, params map[string]any) (any, error)

GetRelease retrieves a release by reference number.

func (*ToolHandlers) GetRequirement

func (h *ToolHandlers) GetRequirement(ctx context.Context, params map[string]any) (any, error)

GetRequirement retrieves a requirement by ID.

func (*ToolHandlers) GetTeam

func (h *ToolHandlers) GetTeam(ctx context.Context, params map[string]any) (any, error)

GetTeam retrieves a team by ID.

func (*ToolHandlers) GetUser

func (h *ToolHandlers) GetUser(ctx context.Context, params map[string]any) (any, error)

GetUser retrieves a user by ID.

func (*ToolHandlers) GetWorkflow

func (h *ToolHandlers) GetWorkflow(ctx context.Context, params map[string]any) (any, error)

GetWorkflow retrieves a workflow by ID.

func (*ToolHandlers) GraphFindPath

func (h *ToolHandlers) GraphFindPath(ctx context.Context, params map[string]any) (any, error)

GraphFindPath finds the shortest path between two entities.

func (*ToolHandlers) GraphInitiativeImpact

func (h *ToolHandlers) GraphInitiativeImpact(ctx context.Context, params map[string]any) (any, error)

GraphInitiativeImpact returns the impact analysis of an initiative.

func (*ToolHandlers) GraphQuery

func (h *ToolHandlers) GraphQuery(ctx context.Context, params map[string]any) (any, error)

GraphQuery executes a Cypher query against Neo4j.

func (*ToolHandlers) GraphReleaseDeps

func (h *ToolHandlers) GraphReleaseDeps(ctx context.Context, params map[string]any) (any, error)

GraphReleaseDeps returns feature dependencies for a release.

func (*ToolHandlers) GraphSearch

func (h *ToolHandlers) GraphSearch(ctx context.Context, params map[string]any) (any, error)

GraphSearch performs full-text search across graph entities.

func (*ToolHandlers) GraphSync

func (h *ToolHandlers) GraphSync(ctx context.Context, params map[string]any) (any, error)

GraphSync syncs data to Neo4j graph database.

func (*ToolHandlers) Init

func (h *ToolHandlers) Init(ctx context.Context) error

Init initializes the handlers with an Aha client.

func (*ToolHandlers) ListIdeas

func (h *ToolHandlers) ListIdeas(ctx context.Context, params map[string]any) (any, error)

ListIdeas lists ideas with optional filtering and pagination.

func (*ToolHandlers) ListPredefinedTemplates

func (h *ToolHandlers) ListPredefinedTemplates(ctx context.Context, params map[string]any) (any, error)

ListPredefinedTemplates returns all available strategic model templates.

func (*ToolHandlers) ListProducts

func (h *ToolHandlers) ListProducts(ctx context.Context, params map[string]any) (any, error)

ListProducts lists all accessible Aha.io products.

func (*ToolHandlers) ListReleases

func (h *ToolHandlers) ListReleases(ctx context.Context, params map[string]any) (any, error)

ListReleases lists all releases for a product.

func (*ToolHandlers) ListWorkflowStatuses

func (h *ToolHandlers) ListWorkflowStatuses(ctx context.Context, params map[string]any) (any, error)

ListWorkflowStatuses lists all workflow statuses for a product.

func (*ToolHandlers) Query

func (h *ToolHandlers) Query(ctx context.Context, params map[string]any) (any, error)

Query executes an AQL query and returns results.

func (*ToolHandlers) SearchDocuments

func (h *ToolHandlers) SearchDocuments(ctx context.Context, params map[string]any) (any, error)

SearchDocuments searches for Aha! documents using GraphQL.

Jump to

Keyboard shortcuts

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