Skip to content

Asana MCP (minor): Initial MCP connector with dynamic tool discovery#1029

Open
salatv-ai wants to merge 2 commits into
Appmixer-ai:devfrom
salatv-ai:feature/asana-mcp
Open

Asana MCP (minor): Initial MCP connector with dynamic tool discovery#1029
salatv-ai wants to merge 2 commits into
Appmixer-ai:devfrom
salatv-ai:feature/asana-mcp

Conversation

@salatv-ai

Copy link
Copy Markdown
Contributor

Summary

Initial scaffold for Asana MCP connector — integrates with Asana's official remote MCP server (v2).

Components

  • auth.js — OAuth 2.1 + PKCE for Asana MCP Apps. Uses function-style auth (like existing Asana connector) with resource=https://mcp.asana.com/v2 parameter. MCP app tokens are separate from standard Asana API tokens.
  • mcp-commons.js — MCP Streamable HTTP client + JSON Schema → Appmixer inspector transformer (duplicated from hubspotmcp, different server URL)
  • ListTools — Private helper, calls tools/list, exports transforms for dynamic UI
  • CallTool — Universal tool execution with dynamic inspector
  • CallToolAI — AI-powered tool selection scaffold

Architecture

Same pattern as HubSpot MCP connector (PR #1028). mcp-commons.js is duplicated per vendor due to Appmixer's connector sandboxing.

Key differences from standard Asana connector

  • Separate appmixer:asanamcp auth service (MCP tokens ≠ API tokens)
  • resource parameter in OAuth flow identifies MCP server
  • No scopes needed (MCP apps don't use scopes)
  • Read+Write access to tasks, projects, portfolios via MCP tools

Open items

  • PKCE support in OAuth flow (code_challenge + code_challenge_method)
  • CallToolAI: integrate with real LLM provider
  • Test with actual Asana MCP App credentials

Refs

Salat added 2 commits March 25, 2026 11:40
…and execution

- auth.js: OAuth 2.1 + PKCE for Asana MCP Apps (resource parameter, no scopes)
- mcp-commons.js: MCP Streamable HTTP client for mcp.asana.com/v2/mcp
- ListTools: Helper component for dynamic tool discovery (tools/list)
- CallTool: Universal tool execution with dynamic inspector
- CallToolAI: AI-powered tool selection and execution scaffold
…ields} and new paginated {values} API response formats
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant