Skip to content

[Bug]: composio-langchain LangchainProvider getting tool error #2153

@Jackie-shi

Description

@Jackie-shi

SDK Language

Python SDK (composio package)

SDK Version

composio==0.9.0, composio-langchain==0.9.1

Runtime Environment

Python 3.13.9 on MacOS

Environment

Local Development

Describe the Bug

When executing the following code:

from composio_langchain import LangchainProvider
from composio import Composio

composio = Composio(api_key=<composio_api_key>, provider=LangchainProvider())
user_id = "xxx"
tools_1 = composio.tools.get(
        user_id,
        toolkits=["Benzinga"],
)

as error came out:

File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio_langchain/provider.py", line 140, in wrap_tools
    return [self.wrap_tool(tool=tool, execute_tool=execute_tool) for tool in tools]
            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio_langchain/provider.py", line 110, in wrap_tool
    parameters=get_signature_format_from_schema_params(
        schema_params=schema_params
    )
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio/utils/shared.py", line 347, in get_signature_format_from_schema_params
    parameter = Parameter(
        name=param_name,
    ...<2 lines>...
        default=default,
    )
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/inspect.py", line 2802, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'parameters[date]' is not a valid parameter name

I think the problem here is caused by the inspect.Parameter that checks the validity of name.

Steps to Reproduce

  1. Create a Composio MCP Server for Benzinga
  2. Running the code:
from composio_langchain import LangchainProvider
from composio import Composio

composio = Composio(api_key=<composio_api_key>, provider=LangchainProvider())
user_id = "xxx"
tools_1 = composio.tools.get(
        user_id,
        toolkits=["Benzinga"],
)

Minimal Reproducible Example

Error Output / Stack Trace

Traceback (most recent call last):
  File "/Users/jakcieshi/Desktop/Home/Projects/FreeLan/composio_test.py", line 602, in <module>
    original_tools = get_tools_composio()
  File "/Users/jakcieshi/Desktop/Home/Projects/FreeLan/composio_test.py", line 282, in get_tools_composio
    tools_1 = composio.tools.get(
        user_id,
        toolkits=["Benzinga"],
    )
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio/core/models/base.py", line 63, in trace_wrapper
    raise e
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio/core/models/base.py", line 54, in trace_wrapper
    return method(self, *args, **kwargs)
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio/core/models/tools.py", line 277, in get
    return self._get(
           ~~~~~~~~~^
        user_id=user_id,
        ^^^^^^^^^^^^^^^^
    ...<5 lines>...
        limit=limit,
        ^^^^^^^^^^^^
    )
    ^
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio/core/models/tools.py", line 200, in _get
    return t.cast(AgenticProvider, self.provider).wrap_tools(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        tools=tools_list,
        ^^^^^^^^^^^^^^^^^
    ...<3 lines>...
        ),
        ^^
    )
    ^
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio_langchain/provider.py", line 140, in wrap_tools
    return [self.wrap_tool(tool=tool, execute_tool=execute_tool) for tool in tools]
            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio_langchain/provider.py", line 110, in wrap_tool
    parameters=get_signature_format_from_schema_params(
        schema_params=schema_params
    )
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/site-packages/composio/utils/shared.py", line 347, in get_signature_format_from_schema_params
    parameter = Parameter(
        name=param_name,
    ...<2 lines>...
        default=default,
    )
  File "/Users/jakcieshi/anaconda3/envs/nt_py13/lib/python3.13/inspect.py", line 2802, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'parameters[date]' is not a valid parameter name

Reproducibility

  • Always reproducible
  • Intermittent / Sometimes
  • Happened once, can’t reproduce

Additional Context or Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions