The implementation here could be less obtuse:

```python
def is_rpc_service_method(method):
    if inspect.ismethod(method) and hasattr(method, 'nameko_entrypoints'):
        entrypoint_dep_classes = {
            factory.dep_cls for factory in method.nameko_entrypoints
        }
        if any(issubclass(dep_cls, RpcProvider)
            for dep_cls in entrypoint_dep_classes):
                return True
    return False

def get_service_rpc_method_names(service_cls):
    return [name for (name, method)
            in inspect.getmembers(service_cls, is_rpc_service_method)]
```