@@ -44,6 +44,14 @@ type SseMcpServerConfig struct {
4444 RequireApproval []string `json:"require_approval,omitempty"`
4545}
4646
47+ // StdioMcpServerConfig starts one local MCP server without invoking a shell.
48+ type StdioMcpServerConfig struct {
49+ Command string `json:"command"`
50+ Args []string `json:"args,omitempty"`
51+ Env map [string ]string `json:"env,omitempty"`
52+ Dir string `json:"dir,omitempty"`
53+ }
54+
4755type Model interface {
4856 GetType () string
4957}
@@ -584,18 +592,19 @@ func (c *AgentCompressionConfig) UnmarshalJSON(data []byte) error {
584592
585593// See `python/packages/kagent-adk/src/kagent/adk/types.py` for the python version of this
586594type AgentConfig struct {
587- Model Model `json:"model"`
588- Description string `json:"description"`
589- Instruction string `json:"instruction"`
590- HttpTools []HttpMcpServerConfig `json:"http_tools,omitempty"`
591- SseTools []SseMcpServerConfig `json:"sse_tools,omitempty"`
592- RemoteAgents []RemoteAgentConfig `json:"remote_agents,omitempty"`
593- Stream * bool `json:"stream,omitempty"`
594- Memory * MemoryConfig `json:"memory,omitempty"`
595- Network * NetworkConfig `json:"network,omitempty"`
596- ContextConfig * AgentContextConfig `json:"context_config,omitempty"`
597- ShareTools * bool `json:"share_tools,omitempty"`
598- SessionDBURL string `json:"session_db_url,omitempty"`
595+ Model Model `json:"model"`
596+ Description string `json:"description"`
597+ Instruction string `json:"instruction"`
598+ HttpTools []HttpMcpServerConfig `json:"http_tools,omitempty"`
599+ SseTools []SseMcpServerConfig `json:"sse_tools,omitempty"`
600+ StdioTools []StdioMcpServerConfig `json:"stdio_tools,omitempty"`
601+ RemoteAgents []RemoteAgentConfig `json:"remote_agents,omitempty"`
602+ Stream * bool `json:"stream,omitempty"`
603+ Memory * MemoryConfig `json:"memory,omitempty"`
604+ Network * NetworkConfig `json:"network,omitempty"`
605+ ContextConfig * AgentContextConfig `json:"context_config,omitempty"`
606+ ShareTools * bool `json:"share_tools,omitempty"`
607+ SessionDBURL string `json:"session_db_url,omitempty"`
599608}
600609
601610// GetStream returns the stream value or default if not set
@@ -608,18 +617,19 @@ func (a *AgentConfig) GetStream() bool {
608617
609618func (a * AgentConfig ) UnmarshalJSON (data []byte ) error {
610619 var tmp struct {
611- Model json.RawMessage `json:"model"`
612- Description string `json:"description"`
613- Instruction string `json:"instruction"`
614- HttpTools []HttpMcpServerConfig `json:"http_tools,omitempty"`
615- SseTools []SseMcpServerConfig `json:"sse_tools,omitempty"`
616- RemoteAgents []RemoteAgentConfig `json:"remote_agents,omitempty"`
617- Stream * bool `json:"stream,omitempty"`
618- Memory json.RawMessage `json:"memory"`
619- Network * NetworkConfig `json:"network,omitempty"`
620- ContextConfig * AgentContextConfig `json:"context_config,omitempty"`
621- ShareTools * bool `json:"share_tools,omitempty"`
622- SessionDBURL string `json:"session_db_url,omitempty"`
620+ Model json.RawMessage `json:"model"`
621+ Description string `json:"description"`
622+ Instruction string `json:"instruction"`
623+ HttpTools []HttpMcpServerConfig `json:"http_tools,omitempty"`
624+ SseTools []SseMcpServerConfig `json:"sse_tools,omitempty"`
625+ StdioTools []StdioMcpServerConfig `json:"stdio_tools,omitempty"`
626+ RemoteAgents []RemoteAgentConfig `json:"remote_agents,omitempty"`
627+ Stream * bool `json:"stream,omitempty"`
628+ Memory json.RawMessage `json:"memory"`
629+ Network * NetworkConfig `json:"network,omitempty"`
630+ ContextConfig * AgentContextConfig `json:"context_config,omitempty"`
631+ ShareTools * bool `json:"share_tools,omitempty"`
632+ SessionDBURL string `json:"session_db_url,omitempty"`
623633 }
624634 if err := json .Unmarshal (data , & tmp ); err != nil {
625635 return err
@@ -649,6 +659,7 @@ func (a *AgentConfig) UnmarshalJSON(data []byte) error {
649659 a .Instruction = tmp .Instruction
650660 a .HttpTools = tmp .HttpTools
651661 a .SseTools = tmp .SseTools
662+ a .StdioTools = tmp .StdioTools
652663 a .RemoteAgents = tmp .RemoteAgents
653664 a .Stream = tmp .Stream
654665 a .Memory = memory
0 commit comments