We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sonichi/asana'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
mcp_config_workspace_management.json•7.78 kB
{
"server": {
"url": "https://app.asana.com/api/1.0"
},
"authentication": [
{
"schema_parameters": {
"scheme": "bearer"
},
"type": "http",
"value": "BEARER_TOKEN"
}
],
"operations": [
{
"description": "Updates an existing enum option. Enum custom fields require at least one enabled enum option. Locked custom fields can only be updated by the user who locked the field. Returns the full record of the updated enum option.",
"name": "update_enum_option"
},
{
"description": "Returns a list of the portfolios in compact representation that are owned by the current API user.",
"name": "get_portfolios"
},
{
"description": "Returns the compact tag records for some filtered set of tags. Use one or more of the parameters provided to filter the tags returned.",
"name": "get_tags"
},
{
"description": "Returns compact team membership records.",
"name": "get_team_memberships"
},
{
"description": "Returns compact time period records.",
"name": "get_time_periods"
},
{
"description": "Returns the compact workspace membership records for the user.",
"name": "get_workspace_memberships_for_user"
},
{
"description": "Returns the complete workspace record for a single workspace membership.",
"name": "get_workspace_membership"
},
{
"description": "Returns the compact records for all workspaces visible to the authorized user.",
"name": "get_workspaces"
},
{
"description": "Returns the full workspace record for a single workspace.",
"name": "get_workspace"
},
{
"description": "A specific, existing workspace can be updated by making a PUT request on the URL for that workspace. Only the fields provided in the data block will be updated; any unspecified fields will remain unchanged. Currently the only field that can be modified for a workspace is its name. Returns the complete, updated workspace record.",
"name": "update_workspace"
},
{
"description": "Add a user to a workspace or organization. The user can be referenced by their globally unique user ID or their email address. Returns the full user record for the invited user.",
"name": "add_user_for_workspace"
},
{
"description": "Returns a list of the compact representation of all of the custom fields in a workspace.",
"name": "get_custom_fields_for_workspace"
},
{
"description": "Returns the compact project records for all projects in the workspace. *Note: This endpoint may timeout for large domains. Prefer the `/teams/{team_gid}/projects` endpoint.*",
"name": "get_projects_for_workspace"
},
{
"description": "Returns the compact project records for all projects in the workspace. If the workspace for your project is an organization, you must also supply a team to share the project with. Returns the full record of the newly created project.",
"name": "create_project_for_workspace"
},
{
"description": "Remove a user from a workspace or organization. The user making this call must be an admin in the workspace. The user can be referenced by their globally unique user ID or their email address. Returns an empty data record.",
"name": "remove_user_for_workspace"
},
{
"description": "Returns the compact tag records for some filtered set of tags. Use one or more of the parameters provided to filter the tags returned.",
"name": "get_tags_for_workspace"
},
{
"description": "Creates a new tag in a workspace or organization. Every tag is required to be created in a specific workspace or organization, and this cannot be changed once set. Note that you can use the workspace parameter regardless of whether or not it is an organization. Returns the full record of the newly created tag.",
"name": "create_tag_for_workspace"
},
{
"description": "To mirror the functionality of the Asana web app\u0027s advanced search feature, the Asana API has a task search endpoint that allows you to build complex filters to find and retrieve the exact data you need. #### Premium access Like the Asana web product\u0027s advance search feature, this search endpoint will only be available to premium Asana users. A user is premium if any of the following is true: - The workspace in which the search is being performed is a premium workspace - The user is a member of a premium team inside the workspace Even if a user is only a member of a premium team inside a non-premium workspace, search will allow them to find data anywhere in the workspace, not just inside the premium team. Making a search request using credentials of a non-premium user will result in a `402 Payment Required` error. #### Pagination Search results are not stable; repeating the same query multiple times may return the data in a different order, even if the data do not change. Because of this, the traditional [pagination](https://developers.asana.com/docs/#pagination) available elsewhere in the Asana API is not available here. However, you can paginate manually by sorting the search results by their creation time and then modifying each subsequent query to exclude data you have already seen. Page sizes are limited to a maximum of 100 items, and can be specified by the `limit` query parameter. #### Eventual consistency Changes in Asana (regardless of whether they\u2019re made though the web product or the API) are forwarded to our search infrastructure to be indexed. This process can take between 10 and 60 seconds to complete under normal operation, and longer during some production incidents. Making a change to a task that would alter its presence in a particular search query will not be reflected immediately. This is also true of the advanced search feature in the web product. #### Rate limits You may receive a `429 Too Many Requests` response if you hit any of our [rate limits](https://developers.asana.com/docs/#rate-limits). #### Custom field parameters | Parameter name | Custom field type | Accepted type | |---|---|---| | custom_fields.{gid}.is_set | All | Boolean | | custom_fields.{gid}.value | Text | String | | custom_fields.{gid}.value | Number | Number | | custom_fields.{gid}.value | Enum | Enum option ID | | custom_fields.{gid}.starts_with | Text only | String | | custom_fields.{gid}.ends_with | Text only | String | | custom_fields.{gid}.contains | Text only | String | | custom_fields.{gid}.less_than | Number only | Number | | custom_fields.{gid}.greater_than | Number only | Number | For example, if the gid of the custom field is 12345, these query parameter to find tasks where it is set would be `custom_fields.12345.is_set=true`. To match an exact value for an enum custom field, use the gid of the desired enum option and not the name of the enum option: `custom_fields.12345.value=67890`. **Not Supported**: searching for multiple exact matches of a custom field, searching for multi-enum custom field *Note: If you specify `projects.any` and `sections.any`, you will receive tasks for the project **and** tasks for the section. If you\u0027re looking for only tasks in a section, omit the `projects.any` from the request.*",
"name": "search_tasks_for_workspace"
},
{
"description": "Returns the compact records for all teams in the workspace visible to the authorized user.",
"name": "get_teams_for_workspace"
},
{
"description": "Returns the compact records for all users in the specified workspace or organization. Results are sorted alphabetically and limited to 2000. For more results use the `/users` endpoint.",
"name": "get_users_for_workspace"
},
{
"description": "Returns the compact workspace membership records for the workspace.",
"name": "get_workspace_memberships_for_workspace"
}
]
}